【发布时间】:2021-11-11 01:34:25
【问题描述】:
类别模型
public function lists(){
return $this->belongsToMany(Listing::class);
}
上市模式
public function categories(){
return $this->belongsToMany(Category::class)
->withPivot(['category_id','listing_id']);
}
控制器:当我 dd 这个查询时,我会得到列表表中的所有列表,但我只想获取那些具有这些类别的列表。
if($request->categories){
$var = $request->categories; // data in array 1,2,3
$lists = Listing::with(['categories' => function ($query) use($var) {
$query->whereIn('category_id',$var);
}])->get();
dd($lists);
【问题讨论】:
-
这看起来像是一个错字:
whereIn('category_id',['=',$var])。 The docs show the correct syntax,所以像whereIn('category_id', $var)这样的东西应该是正确的。 -
顺便说一句:
belongsToMany(listing::class)- 显然有效,但模型名称应正确大写:belongsToMany(Listing::class)。 -
@Don'tPanic 如果您对此问题有任何答案,那么最好不要投反对票并纠正不属于我的问题的语法。
-
您发布的代码有错误。我指出了这些错误并描述了如何为您修复它们。如果你在这里写的不是实际上你的代码......好吧,对不起,我的读心术今天似乎不起作用。祝你好运。
标签: laravel-5 eloquent query-builder