whereExists(function($subquery) use($language) { $lang_model = new LanguageModel; $subquery->model($lang_model) ->name($lang_model->getName()) ->field(['id']) ->where('id', '=', Db::raw($this->getTable() . '.language_id')) ->where('code', '=', $language); }); } // 所属上级分类范围查询 public function scopeParent($query, $parent_id) { if (is_null($parent_id)) return; $query->where('pid', '=', $parent_id); } }