Laravel по-русски

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

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

#1 30.01.2017 20:38:40

Перевод Mysql в Query Builder

Ребят, привет, чего то никак не могу разобраться.
Первый вариант работает отлично, я его взял с интернета.
Второй сам сделал, но он работает не корректно.
В чем может быть проблема?
Уже всякие варианты перепробовал.

$cards = DB::select('SELECT t1.*
        FROM techniques t1
        LEFT JOIN techniques t2 ON t1.source_item_id = t2.source_item_id AND t1.version_number < t2.version_number
        WHERE t2.source_item_id IS NULL;');

$cards = DB::table('techniques as t1')
        ->leftJoin('techniques as t2', function ($join) {
                 $join->on('t1.source_item_id', "=", 't2.source_item_id')
                       ->on('t1.version_number', '<', 't2.version_number');
        })
        ->whereNull('t2.source_item_id')
        ->get();

Изменено Dima24 (30.01.2017 20:48:09)

Не в сети

#2 30.01.2017 22:09:20

Re: Перевод Mysql в Query Builder

Всё, сам наконец разобрался, часов 5 затратил.
Надо было так:
$cards = DB::table('techniques as t1')
        ->select("t1.*")
        ->leftJoin('techniques as t2', function ($join) {
                 $join->on('t1.source_item_id', "=", 't2.source_item_id')
                       ->on('t1.version_number', '<', 't2.version_number');
        })
        ->whereNull('t2.source_item_id')
        ->get();

Т.е. просто добавил еще такую строку:
->select("t1.*")

Не в сети

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