Support the ongoing development of Laravel.io →
Database Eloquent

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();
Last updated 3 years ago.
0

Sign in to participate in this thread!

PHPverse

Your banner here too?

teeolendo teeolendo Joined 20 Jan 2016

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2025 Laravel.io - All rights reserved.