![](/img/trans.png)
[英]get only selected column from database table laravel 5 eloqouent
[英]get only the selected column from the join table
我在下面有此參考代碼,首先是第1行
$aa = users_details::select(array('id', 'user_id'))->where('id', '=', $request->id)->first(); //first line
$bb = User::select(array('user_id'))->where('user_id', '=', $aa->id)->with('user_details')->first(); //second line
第一行返回正確的13,而第二行返回“ null”,這不應該,因為實際上有一條記錄的user_id為“ 13”。 有什么想法,請幫忙嗎?
而且還有一種方法我可以只選擇此聯接表中的選定列(雄辯關系hasOne)
$bb = User::select(array('user_id'))->where('user_id', '=', $aa->id)->with('user_details')->first();
我不知道
選擇(數組('user_id'))
是從聯接表中僅選擇選定列的正確選擇。 有什么想法,請幫忙嗎?
第一個問題:
$bb = User::select(array('user_id'))->where('user_id', '=', $aa->id)->with('user_details')->first();
用戶表(或User
模型所指向的任何地方)中是否有user_id
列? 您在用戶模型中是否有user_details
方法?
第二個問題:
您可以選擇
User::select('user_id', 'username', 'sex')
如果聯接表中的列名相同,則可以選擇
User::select('users.user_id as a', 'users.username', 'users.sex', 'user_details.user_id as b')
更新:
當兩者都一起加入時,如何從“ user_details”中僅選擇選定的列?
User::select('users.user_id as user_id', 'users.username', 'users.sex', 'user_details.user_id as user_details_id')->join('user_details','user_details.user_id','=', 'users.id' )->where('users.id', '=', $aa->id)->first();
要從聯接表中選擇列,只需在列名前加上表名,例如user_details.user_id
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.