我想執行Laravel4查詢生成器左連接。這裏是我的代碼:Laravel 4 - 查詢生成器左連接
$settings = DB::table('settings')
->leftJoin('users', 'settings.user_id', '=', 'users.user_id')->get();
使用這部分代碼,我從兩個數據庫表中獲取所有字段。我想從設置表中獲取所有字段,但只是國家和貨幣字段從用戶表。有人可以幫我解決這個問題嗎?
我想執行Laravel4查詢生成器左連接。這裏是我的代碼:Laravel 4 - 查詢生成器左連接
$settings = DB::table('settings')
->leftJoin('users', 'settings.user_id', '=', 'users.user_id')->get();
使用這部分代碼,我從兩個數據庫表中獲取所有字段。我想從設置表中獲取所有字段,但只是國家和貨幣字段從用戶表。有人可以幫我解決這個問題嗎?
而不是使用->get()
這是用來讓你需要使用->select()
說你想要的列,然後使用get()
$settings = DB::table('settings')
->leftJoin('users', 'settings.user_id', '=', 'users.user_id')
->select('settings.*', 'users.country', 'users.currency')->get();
你可以試試這個所有列的,通過字段get()
爲陣列選擇:
$settings = DB::table('settings')
->leftJoin('users', 'settings.user_id', '=', 'users.user_id')
->get(array('settings.*', 'users.country', 'users.currency'));
使用->select('settings.*', 'users.country', 'users.currency')
你仍然需要在最後調用get()
,像這樣:
$settings = DB::table('settings')
->leftJoin('users', 'settings.user_id', '=', 'users.user_id')
->select('settings.*', 'users.country', 'users.currency')->get();
謝謝你的回答! – Sysrq147
不客氣:-) –
是否需要 - > get()結束,我想將結果作爲JSON響應發送?謝謝。 – Sysrq147
在這種情況下,您需要在'select'後面調用'get()'。 –