Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 28.02.2013 16:59:12

*решено* Сложный join на Fluent

Есть запрос

sqlSELECT a.*
FROM autos a
LEFT JOIN bids b ON (b.auto_id = a.id AND b.user_id = 5)
WHERE b.id IS NULL

Надо его как, то написать не с использованием Fluent.
Возникли проблемы с написанием left_join, не хочет он принимать то что я пишу, Mysql ошибку выдает.

UPD;
Запрос по ходу должен так выглядеть. Но результат не тот почему-то

PHP
$query->left_join('cms_autos_bids', function ($join) {
                
$join->on('cms_autos.id''=''cms_autos_bids.auto_id');
                
$join->on('cms_autos_bids.user_id''='DB::raw(5));
            });
            
$query->where_null('cms_autos_bids.id');

UPD2;
В общем выяснил что запрос правильно написан(тот что сверху), единственное что скобки он не ставит для этого,

sql(b.auto_id = a.id AND b.user_id = 5)

Сейчас они вроде не нужны особо, но все же интересно как их можно поставить(или они никогда не могут пригодиться? А то я с SQL не особо дружу).
А результат не тот был потому что я случайно ошибся с тем какой результат должен быть.

Изменено Proger_XP (28.02.2013 21:49:20)

Не в сети

#2 28.02.2013 21:51:37

Re: *решено* Сложный join на Fluent

Пиши пожалуйста чуть более грамотно — 8 опечаток в одном сообщении это уж слишком.

  1. или они никогда не могут пригодиться?

Внутри JOIN — нет. В SELECT есть явное разделение, когда ты пишешь ключевые слова вроде WHERE, GROUP BY, JOIN — ты ведь не можешь написать sqlSELECT * JOIN (a = b GROUP BY c) WHERE d = 1.

Не в сети

Подвал раздела