我是 laravel 的新手,我想除錯我遇到的問題。我想查看對資料庫的查詢。問題是在列印中它不是顯示為查詢而是顯示為結構。
$query = DealDsp::select('deal_dsp.dsp_id', 'dsp.name_display')
->join('dsp', 'dsp.id', '=', 'deal_dsp.dsp_id')
->join('deal', 'deal.deal_id', '=', 'deal_dsp.deal_id')
->orderBy('dsp.name_display');
\Log::info('The query in line 106 is: ');
dd($query);
我只想知道最后 $query 將只有兩個列?還是因為存在連接,它包含 DealDsp 表 dsp 表 交易表中的所有欄位?他們是一種將查詢列印為sql陳述句的方法嗎?
uj5u.com熱心網友回復:
將 select 放在 join 之后,最好使用 AS 宣告每個查詢名稱。
$query = DealDsp::join('dsp', 'dsp.id', '=', 'deal_dsp.dsp_id')
->join('deal', 'deal.deal_id', '=', 'deal_dsp.deal_id')
->select([
'deal_dsp.dsp_id AS id',
'dsp.name_display AS name'
])
->orderBy('dsp.name_display', 'ASC')
->get();
\Log::info('The query in line 106 is: ');
uj5u.com熱心網友回復:
如果我得到你,你想列印這個 elequent 的 mysql 查詢
您可以通過在陳述句末尾添加 ->toSql() 來做到這一點
$query = DealDsp::select('deal_dsp.dsp_id', 'dsp.name_display')
->join('dsp', 'dsp.id', '=', 'deal_dsp.dsp_id')
->join('deal', 'deal.deal_id', '=', 'deal_dsp.deal_id')
->orderBy('dsp.name_display')
->toSql();
dd($query);
uj5u.com熱心網友回復:
我猜您想查看 SQL 查詢。您$query實際上是“查詢生成器”。你可以試試這個:
$sql = $query->toSql();
dd($sql);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/463283.html
