/** * Handle dynamic static method calls into the method. * * @param string $method * @param array $parameters * @return mixed */ public static function __callStatic($method, $parameters) { $instance = new static(); $class = get_class($instance->getModel()); $model = new $class(); return call_user_func_array([$model, $method], $parameters); }
/** * Метод фильтрует строки по умолчанию для любой модели */ protected function _prepareColumns() { $this->columns(function ($grid) { /** @var \Assurrussa\GridView\Support\GridColumns $grid */ $model = $this->_query->getModel(); $lists = \Schema::getColumnListing($model->getTable()); $columns = []; foreach ($lists as $key => $list) { $columns[] = $grid->column()->setKey($list)->setValue($list)->setDate(true)->setSort(true); } $columns[] = $grid->column()->setKeyAction()->setActions(function ($data) use($grid) { $pathNameForModel = strtolower(str_plural(camel_case(class_basename($data)))); $buttons = []; $buttons[] = $grid->button()->setAction('delete')->setLabel('deleted')->setRoute('delete', [$pathNameForModel, $data->id])->setIcon('fa-cancel'); $buttons[] = $grid->button()->setAction('show')->setLabel('show')->setRoute('show', [$pathNameForModel, $data->id])->setIcon('fa-show')->setHandler(function ($data) { return false; }); $buttons[] = $grid->button()->setAction('edit')->setLabel('edit')->setRoute('edit', [$pathNameForModel, $data->id])->setIcon('fa-edit'); return $buttons; }); return $grid->setColumns($columns); }); }
/** * 静态调用model的操作 * @author NewFuture */ public static function __callStatic($method, $params) { $instance = new static(); //::getInstance(); return call_user_func_array(array($instance->getModel(), $method), $params); }