我在两个模型之间建立了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 。