Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всё, сам наконец разобрался, часов 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.*")
Ребят, привет, чего то никак не могу разобраться.
Первый вариант работает отлично, я его взял с интернета.
Второй сам сделал, но он работает не корректно.
В чем может быть проблема?
Уже всякие варианты перепробовал.
$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();