╔═══╦══════════════╦═════════════╗
║ ║id ║name ║
╠═══╬══════════════╬═════════════╣
║ ║ 1 ║a1 ║
║ ║ 2 ║b1 ║
║ ║ 3 ║b2 ║
║ ║ 4 ║c1 ║
║ ║ 5 ║c2 ║
╚═══╩══════════════╩═════════════╝
Это моя таблица в MySQL
Выполнение этого запроса в mysql:
select * from (select * from courses where name like 'a%') as t1 cross join (select * from courses where name like 'b%') as t2 cross join (select * from courses where name like 'c%') as t3
возвращает это:
Однако, когда я пытаюсь запустить его на larael для отображения результата, я получаю что-то другое.
Вот как я выполняю в Laravel:
$posts = DB::select(DB::raw("select * from (select * from courses where name like 'a%') as t1 cross join (select * from courses where name like 'b%') as t2 cross join (select * from courses where name like 'c%') as t3"));
Вот что $posts
возвращает:
[{"id":4,"name":"c1"},{"id":4,"name":"c1"},{"id":5,"name":"c2"},{"id":5,"name":"c2"}]
Полагаю, он возвращает только два последних столбца запроса, если мы сравним его с исходным результатом, возвращаемым в mysql.
Есть идеи, как получить полный результат?