![](/img/trans.png)
[英]Laravel Get data from relationship's relationship table and select column?
[英]Laravel get data from relationship table only
我有一個 controller 來獲取用戶,但 output 具有數據不是來自數據庫的關系
Controller:
public function test($id){
$data = User::where("user_group_id",$id)->get();
$tes = $data;
return response()->json([
'message'=>'Data Fetched',
'payload'=>$tes,
],200);
}
Output
"message" : "Data Fetched",
"payload" : [
{
"id":1,
"username":asd,
"profile":{
"age:42"
},
"id":2,
"username":sdf,
"profile":{
"age:60"
},
ETC
我如何訪問配置文件中的數據以按年齡對所有用戶進行分組?
我期待這樣的邏輯結果
$data = User::all()->groupBy(profile->age);
先感謝您
您沒有包含用戶和配置文件 model 之間關系的詳細信息,但您應該嘗試使用類似以下代碼的方法來獲得所需的結果
public function test($id)
{
$data = User::whereHas('profile', function ($query) use($id) {
$query->where('user_group_id',$id)
$query->groupBy('profile.age');
})->get();
return response()->json(['message'=>'Data Fetched','payload'=> $data],200);
}
你也可以這樣做
public function test($id)
{
$data = User::where("user_group_id",$id)->get();
foreach($data as $one)
{
$one['age']=Profile::where('user_id',$one->id)->first('age');
}
return response()->json([
'message'=>'Data Fetched',
'payload'=>$tes,
],200);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.