【问题标题】:Laravel Nova - Save multiple rows to database on createLaravel Nova - 在创建时将多行保存到数据库
【发布时间】:2019-05-27 12:47:56
【问题描述】:

我正在将一个使用 Backpack 的 Laravel 应用程序转换为 Laravel Nova。

我的一个模型Images 允许用户使用初始表单中的一组基本信息添加多个图像。本例中的表单通过下拉列表询问该系列中有多少图像,然后有许多相关字段将用于所有要添加的新图像。保存时,在控制器中,我使用以下 eloquent 功能来运行多个任务并插入所需的行数:

public function store(StoreRequest $request){
  //Get some info
  //Make some tweaks
  //Use for loop to save multiple records
  for ($k = 0; $k < $addim; $k++){
    //Do some stuff      
    parent::storeCrud(${"request"});
  }
}

这可以完美地工作,并且可以插入许多需要的记录。

在 Laravel Nova 中,我看不到使用相同方法的方法。在模型中使用事件侦听器似乎不是保存多条记录的正确方法,而且我找不到任何对可用于实现此目的的控制器函数的引用。

对于完成这部分的最佳方式,我非常感谢一些想法和指导。

【问题讨论】:

    标签: laravel eloquent laravel-nova


    【解决方案1】:

    你可以在 observable 中使用保存事件

    https://laravel.com/docs/5.8/eloquent#events

    【讨论】:

    • 但是你怎么能限制这种情况只发生在 nova 中创建资源时呢?
    猜你喜欢
    • 2021-03-04
    • 2020-11-30
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2019-08-31
    • 2019-11-25
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多