多表关联查询问题

$videos = Video::with(['region' => function($query) {
            $query->with('factory');
        }])->get();

我想通过factory的name字段进行查询应该怎么做啊

JellyBool

factory的name字段进行查询

这是 Factory 操作吧

Jerda

找到方法了

$videos = Video::where($this->formatWhere(['video_name']))->with(['region' => function ($query) {
            $query->with('factory');
        }])->whereHas('region', function ($query) {
            $query->where($this->formatWhere(['region_name']));
        })->whereHas('region.factory', function ($query) {
            $query->where($this->formatWhere(['factory_name']));
        })->with(['farmer' => function ($query) {
            $query->with('user');
        }])->paginate(request()->input('limit'));