dev*_*v21 5 php laravel eloquent
如何在$ query中传递_user_id列值.这是很多关系.我无法弄清楚如何在$ query where条件中使用RFX的user_id.
public function response_pricings(){
return $this->hasMany('App\Models\Website\RFXRequestPricingResponse', ['rfx_request_id'=>'_rfx_request_id', 'user_id'=>'_user_id'])->selectRaw("*");
}
return RFXRequestSupplierResponded::select(
'id as _id',
'rfx_request_id as _rfx_request_id',
'user_id as _user_id',
'status',
'is_qualified',
DB::RAW('(SELECT name FROM users WHERE id=user_id) as user_name'),
DB::RAW('(SELECT note FROM rfx_request_response_notes WHERE rfx_request_id='.$rfx_request_id.' AND user_id=rfx_request_suppliers_responded.user_id LIMIT 1) as note')
)
->with(
[
'response_pricings' => function ($query) {
/*$query->where('user_id', $_user_id);*/
}
]
)
->where('rfx_request_id',$rfx_request_id)
->get();
Run Code Online (Sandbox Code Playgroud)
Ama*_*san -1
您可以使用以下方法将局部作用域参数传递给闭包函数use
... ->with(
['response_pricings' => function ($query) use ($_user_id) {
$query->where('user_id', $_user_id);
}
]
)
->where(....
Run Code Online (Sandbox Code Playgroud)
更多信息请参见此问答:In PHP 5.3.0, What is the function "use" identifier?