[英]ManyToMany Eloquent Laravel query issue with whereHas
我在以下两个模型之间存在ManyToMany关系: Album
和Media
。
在这里您可以看到Album
模型:
class Album extends Model
{
public function medias()
{
return $this->belongsToMany('\Api\Medias\Models\Media');
}
}
这里是Media
模型:
class Media extends Model
{
public function albums()
{
return $this->belongsToMany('\Api\Medias\Models\Album');
}
}
现在,我要选择属于public=1
专辑的所有媒体。 雄辩的查询是这样的:
return $this->getModel()::whereHas('albums', function($query) {
$query->where('public', '=', '1');
})->get();
但是我在whereHas
行中收到此错误:
local.ERROR: ErrorException: compact(): Undefined variable: operator in...
我正在使用Laravel Framework 5.4.36 。
就像是5.4期。 ( https://github.com/laravel/framework/issues/26936 )您应该尝试从5.4升级到5.5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.