Skip to content

Controller控制器

简单示例

一个简单的后台页面代码如下:

php

namespace app\admin\controller;
use app\model\Testorder;
use app\model\User;
use Encore\Admin\Grid;
use Encore\Admin\Form;
use Encore\Admin\Show;
use Encore\Admin\Url;
use Illuminate\Support\Collection;
use LinAdmin\controller\CNewController;

class Ctestorder extends CNewController
{
    protected $header = '测试表格';
    protected $model = Testorder::class;

    /**
     * 列表
     * @return Grid
     */
    public function table()
    {
        $table = new Grid(new $this->model());
        //关联表
        $table->model()->with('user', "nickname,avatar");
        $table->column("id", "ID");
        $table->column('user_id', '用户ID');
        $table->column('user.nickname', '用户昵称');
        $table->column('user.avatar', '头像')->image();
        $table->column("create_time", "创建时间")->date();
        $table->actions(function (Grid\Displayers\Actions $actions) {
            $actions->enableShow(); //开启详情功能,默认为关闭
        });
        //导出csv文件
        $table->export(function (Grid\Exporters\CsvExporter $export) {
            $export->filename("测试表格明细"); //文件名,后面会自动带时间
            $export->except(["avatar"]); //过滤
        });
        $table->filter(function (Grid\Filter $filter) {
            $filter->disableIdFilter();
            $filter->like('user.nickname',"用户昵称");
        });


        return $table;
    }
   /**
     * 详情
     * @param $id
     */
    public function detail($id)
    {
        $show = new Show(new $this->model(), $id);
        $show->field('id', 'ID');
        $show->field('user_id', '用户ID');
        return $show;
    }
   
    public function form($id = null)
    {
        $form = new Form(new  $this->model());
         $form->text("user_id","用户iD")->default(228);
        return $form;
    }

}