/**
  * 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);
     });
 }
Exemple #3
0
 /**
  * 静态调用model的操作
  * @author NewFuture
  */
 public static function __callStatic($method, $params)
 {
     $instance = new static();
     //::getInstance();
     return call_user_func_array(array($instance->getModel(), $method), $params);
 }