Laravel DB запрос выбора нескольких таблиц без объединения - PullRequest
0 голосов
/ 18 мая 2018

У меня есть запрос Raw SQL здесь и что нужно знать, как написать этот запрос Raw в конструкторе запросов laravel

Вот запрос Raw:

SELECT tbl_stock.* , series.*, series_size.*, tbl_size.* FROM 
tbl_stock , series, series_size, tbl_size 
WHERE
tbl_stock.series_id = series.series_id AND 
tbl_stock.size_id = series_size.size_id AND
tbl_stock.size_id = tbl_size.size_id

У меня есть попытка запроса к БДстроитель laravel, но получает исключение

$stock_info = DB::table(['tbl_stock', 'shades'])->get();

Это дает мне это

Исключение преобразования массива в строку

СПАСИБО В СЛУЧАЕ

1 Ответ

0 голосов
/ 18 мая 2018

Прежде всего, вы должны заменить синтаксис вашего архаичного соединения на современный синтаксис:

SELECT
    t1.*,
    t2.*,
    t3.*,
    t4.*
FROM tbl_stock t1
INNER JOIN series t2
    ON t1.series_id = t2.series_id
INNER JOIN series_size t3
    ON t1.size_id = t3.size_id
INNER JOIN tbl_size t4
    ON t1.size_id = t4.size_id;

Затем используйте синтаксис построителя запросов Laravel для построения вашего запроса в коде PHP:

$stocks = DB::table('tbl_stock')
    ->join('series', 'tbl_stock.series_id', '=', 'series.series_id')
    ->join('series_size', 'tbl_stock.size_id', '=', 'series_size.size_id')
    ->join('tbl_size', 'tbl_stock.size_id', '=', 'tbl_size.size_id')
    ->select('tbl_stock.*', 'series.*', 'series_size.*', 'tbl_size.*')
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...