/** * 关联查询 * @param $relation * @param \Closure $callback 由于此处 Closure 接受的参数是 Table 类,所以下面调用时封装了一次 * @return static */ public function whereHas($relation, $callback) { $this->original->whereHas($relation, function ($query) use($callback) { call_user_func($callback, lego_table($query)); }); return $this; }
protected function prepareData($data) : Data { if ($data instanceof Filter) { $data->processFields(); $data->process(); $data = $data->data(); } return lego_table($data); }
protected function prepareData($data) : Data { if (is_subclass_of($data, Model::class)) { $data = new $data(); } if ($data instanceof Model) { $data = $data->newQuery(); } return lego_table($data); }