表:channel渠道表
在菜单中新建菜单规则路径channel/channel:
channel控制器里:
use App\Http\Controllers\Controller; use App\Model\ChannelModel; use Encore\Admin\Form; use Encore\Admin\Grid; use Encore\Admin\Layout\Content; use Encore\Admin\Controllers\ModelForm; use Encore\Admin\Show; class ChannelController extends Controller { use ModelForm; public function index(Content $content) { return $content ->header('Index') ->description('description') ->body($this->grid()); } public function edit($id, Content $content) { return $content ->header('Edit') ->description('description') ->body($this->form()->edit($id)); } /** * Create interface. * * @param Content $content * @return Content */ public function create(Content $content) { // dump($content);exit; return $content ->header('Create') ->description('description') ->body($this->form()); } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new ChannelModel); $form->text('name', '渠道名称'); $form->text('number', '渠道号'); $form->text('password', '登录密码'); $form->password=bcrypt($form->password); $form->text('desc', '描述'); $form->text('package_name', '马甲包名称'); $form->text('price', '单价'); $form->radio('status', '状态')->options(['0' => '不在线', '1'=> '在线'])->default('0'); return $form; } /** * Show interface. * * @param mixed $id * @param Content $content * @return Content */ public function show($id, Content $content) { return $content ->header('Detail') ->description('description') ->body($this->detail($id)); } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(ChannelModel::findOrFail($id)); $show->id('ID'); $show->description('问题描述'); $show->content('回复内容'); return $show; } protected function grid() { $grid = new Grid(new ChannelModel); $grid->model()->orderBy('id','desc'); $grid->id('ID')->sortable(); $grid->name('渠道名称'); $grid->number('渠道号'); $grid->password('登录密码'); $grid->desc('描述'); $grid->package_name('马甲包名称'); $grid->channel_url('推广url'); $grid->type('计费方式')->display(function ($type) { return $type ? '其他' : '注册'; }); $grid->price('价格'); $grid->data_url('数据url'); $grid->register_number('注册数量'); $grid->put_number('提交数量'); $grid->pass_number('通过数量'); $grid->status('状态')->display(function ($status) { return $status ? '在线' : '不在线'; }); $grid->column('adminUsers.username','名字'); $grid->created_at('创建时间')->display(function ($created_at) { return date("Y-m-d H:i:s",$created_at); }); $grid->updated_at('修改时间')->display(function ($updated_at) { return date("Y-m-d H:i:s",$updated_at); }); $grid->disableExport();//禁用导出数据按钮 return $grid; } }
channel模型层里:
use App\Model\AdminUsersModel as adminUsers; use Illuminate\Database\Eloquent\Model; class ChannelModel extends Model { protected $table = "channel";//要连接的表名称 public $timestamps = true; public $dateFormat = 'U'; // 联查admin_users表 public function adminUsers() { return $this->belongsTo(adminUsers::class,'admin_id'); } }
admin_users模型:
use App\Model\ChannelModel as Channel; use Illuminate\Database\Eloquent\Model; class AdminUsersModel extends Model { protected $table = "admin_users";//要连接的表名称 public function channel() { return $this->hasOne(Channel::class,'id'); } }
至此简单事例已完成,欢迎评价,有问题请私聊。