我的模特关系
return $this->hasMany('App\Models\Opportunity')->with('user');
我的尝试
$project = Project::find(1);
$$opportunities = $project->opportunities
->where('status', "confirmed");
$opportunities->each(function ($opportunity) {
return $opportunity->get('user');
});
目标
我的目标是按以下结构返回数据:
Opportunities:
Opportunity:
Status,
Amount
Currency
Name
注意,用户是机会本身的子集。
问题
这将返回1024 SQL错误。
理想地
这将是理想的,如果我能回到与所有这些信息的查询本身。
get()
对您的查询调用方法以首先获取其结果:
$oppurtunities = $project->opportunities()
->where('status', "confirmed")
->get();
您渴望user
为每个实例加载实例,opportunity
因此只需调用$opportunity->user
以返回每个机会的用户即可:
$project = Project::find(1);
$opportunities = $project
->opportunities()
->where('status', "confirmed")
->get();
$filtered = $opportunities->map(function ($opportunity) {
return [
'status' => $opportunity->status,
'amount' => $opportunity->amount_pledged,
'currency' => $opportunity->currency,
'name' => optional($opportunity->user)->full_name
];
})->all();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句