I'm using the Laravel query builder to write a join statement and I find that I'm encountering a strange error. When I run the query below from phpmyadmin, it works but I get an error when I try to access the page in Laravel.
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near
'? where entities
.deleted_at
is null' at line 1 (SQL: select * from entities
inner join
entity_contact_info
on entity_contact_info
.entity_id
= entities
.id
and entities
.sector_id
= 2 and entity_contact_info
.country_id
IN (select id
from countries WHERE region_id
= 9)
where entities
.deleted_at
is null)
The query I've built in Laravel is below. Again, when I copy the query from the error above and run it, it works. There seems to be no reason why this isn't working.
$query = Entity::Join("entity_contact_info", function ($join){
$join->on("entity_contact_info.entity_id", "=", "entities.id")
->where("entities.sector_id", "=", "2")
->where("entity_contact_info.country_id", "IN", "(select `id` from countries WHERE `region_id` = 9)");
})->get();
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community