laravel - 如何将请求传递给 Laravel Eloquent ::with 函数?
问题描述
我的控制器中有这个功能:
public function search(Request $request) {
return Product::with([
'producer' => function($producer) {
dd($request);
if ( isset($request->producer_id) ) {
$producer->where(['id','=',$request->producer_id]);
}
}
]);
}
现在dd()
所说的$request
是未定义的,但如果我在它正确显示之前抓住它return
。
如何将$request
变量传递给::with
's 函数?
解决方案
为了使用request
你必须use
在 laravel 中使用关键字
public function search(Request $request) {
return Product::with([
'producer' => function($producer) use($request) {
^^^
dd($request);
if ( isset($request->producer_id) ) {
$producer->where(['id','=',$request->producer_id]);
}
}
]);
}
推荐阅读
- rest - grails中的REST API和普通API有什么区别?
- python - 清除现有图像后如何在 Tkinter 中更新新图像。?
- sorting - 对数据表中的字母数字列进行排序不起作用
- javascript - 在 AmCharts 中是否可以让连续图表中的条形占据全宽?
- javascript - 使用参数在 NodeJS 中获取 Express Route URL
- ruby-on-rails - Friendly_id slug_history 正在更新错误的 slug
- raspberry-pi - 更改 Watson IoT 输入节点连接为网关时,Raspberry Pi 上的 Node-RED 不断重启
- r - 将结果作为向量 (r) 存储在 for 循环中
- reactjs - 如何在 React Native 中包装 Flatlist 项目
- r - 在面板数据帧 R 中生成一个虚拟对象