【问题标题】:ManyToMany Eloquent Laravel query issue with whereHas与 whereHas 的 ManyToMany Eloquent Laravel 查询问题
【发布时间】:2019-06-17 13:12:32
【问题描述】:

我在两个模型之间存在多对多关系:AlbumMedia

这里可以看到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

【问题讨论】:

    标签: php laravel eloquent laravel-5.4 laravel-5.5


    【解决方案1】:

    这就像一个 5.4 的问题。 (https://github.com/laravel/framework/issues/26936) 您应该尝试从 5.4 升级到 5.5

    【讨论】:

      猜你喜欢
      • 2021-05-25
      • 1970-01-01
      • 2021-09-05
      • 2022-08-19
      • 2021-05-28
      • 2020-09-16
      • 2020-12-23
      • 2018-02-27
      • 1970-01-01
      相关资源
      最近更新 更多