我在基于hasMany关系从数据库中获取数据并将其发送到Larave的api时遇到问题。 在下面的代码中,Laravel不会给我客户ID = $ id的客户产品。我不知道为什么,我无法在$ query旁边发送$ id。如果我在''中写数字,我会很好,但是我需要自动获取。
InputArray
所有api代码
Mat
谢谢。
答案 0 :(得分:2)
如果要在with
方法内使用变量,则必须像下面的代码一样在use($id)
之后键入function($query)
。
$products = Product::where('name','like','%'.$request->q.'%')
->orWhere('symbol', 'like', '%'.$request->q.'%')
->with(['customers' => function ($query) use($id) {
$query->where('id', '=', $id);
}])->get();
如果您需要查找具有客户条件的产品,则可以使用whereHas
功能。选中此post以获得更多信息。