外观
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;
}
}