Мне нужно реплицировать запрос SQL
в Laravel с помощью построителя запросов, но я не знаю, как определить более одного псевдонима для одной и той же таблицы.
У меня этот SQL
запрос работает нормально.
select b.url as url, b.id as id
from item a, item b
where a.type = 'big'
AND a.published = 1
AND b.parent_id = a.id
AND b.published = 1
Это попытка Laravel:
$query = DB::table('item as a, item as b');
$query->where('a.type', '=', 'big');
$query->where('a.published', '=', 1);
$query->where('b.parent_id', '=', 'a.id');
$query->where('b.published', '=', 1);
Я также пытаюсь:
$query = DB::table('item');
$query->fromRaw('item a, item b');
$query->where('a.type', '=', 'big');
$query->where('a.published', '=', 1);
$query->where('b.parent_id', '=', 'a.id');
$query->where('b.published', '=', 1);
Мне нужно использовать построитель запросов, потому что на следующих шагах мне нужны некоторые условия, поэтому я не могу использовать простое отношение hasMany.
Обновление с помощью items
данных таблицы: