Можно ли объединить данные из двух несвязанных таблиц?

Как можно изменить этот код, чтобы получать данные из обеих таблиц - Movie и Tv, используя колонку 'original_language'?
  • 2 марта 2024 г. 16:29
Ответы на вопрос 2
Да, данные из двух несвязанных таблиц можно объединить, например, с помощью оператора UNION или UNION ALL.

Для получения данных из обеих таблиц Movie и Tv, используя колонку 'original_language', можно воспользоваться SQL-запросом следующего вида:

SELECT *
FROM Movie 
WHERE original_language = 'value'

UNION

SELECT *
FROM Tv 
WHERE original_language = 'value';

Здесь 'value' - это конкретное значение колонки 'original_language', которое вы искали. Используя UNION, можно объединить результаты запросов к обеим таблицам в один набор данных.
DB::table('movies')
    ->select('original_language')
    ->distinct()
    ->union(DB::table('serials')->select('original_language')->distinct())
    ->get()
    ->pluck('original_language');


Получать данные не через Eloquent, а через Query Builder. Там есть метод union .

https://laravel.com/docs/10.x/queries#unions
Похожие вопросы