laravel-admin发布菜谱记录发布人uid使用$form隐藏input实现

想了很久想到这么一个办法,小伙伴们如果有更好的想法可以分享给我奥
代码如下:

//FoodController.php
protected function form()
{
  $form = new Form(new CookFoods());

  $form->display('id', __('ID'));
  $form->hidden('dining_hall_id','食堂ID')->value(auth()->user()->id);
  $form->hidden('operator_id','操作员ID')->value(0);
  $form->text('food_name','菜名');
  $form->textarea('description','描述');
  $form->text('tags','标签');
  $form->display('created_at', __('Created At'));
  $form->display('updated_at', __('Updated At'));
  return $form;
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
坚信技术改变世界,改变人生,改善个人生活。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

可以使用监听器实现,在创建的时候录入登录用户id,也可以在saving的时候处理

1年前 评论
fengzb (楼主) 1年前

你现在的做法可以任意修改(打开 F12 修改), 我个人更倾向于这种做法,

//FoodController.php
protected function form()
{
  $form = new Form(new CookFoods());

  $form->display('id', __('ID'));
  $form->hidden('dining_hall_id','食堂ID')->value(auth()->user()->id);
  // $form->hidden('operator_id','操作员ID')->value(0);
  $form->text('food_name','菜名');
  $form->textarea('description','描述');
  $form->text('tags','标签');
  $form->display('created_at', __('Created At'));
  $form->display('updated_at', __('Updated At'));

  $form->saving(function() {
      $form->operator_id = data_get(Admin::user(), 'id');
  });
  return $form;
}
1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!