php - 有没有办法将多个输入推送到 laravel 中的同一个 Db 列?
问题描述
我曾尝试搜索与上述问题类似的内容,但没有运气。
我在系列和视频表之间有一对多的关系。在视频表中,我有视频的标题和网址。
我遇到的问题是,我正在使用 jquery 添加包含标题和 url 的多行。
我尝试将标题和网址推送到数据库上的视频表。推送一个输入时没有问题,但是当我有很多标题和网址时,代码会中断。
我也尝试过使用 createMany 但它只能添加一个输入数组。我无法让它同时添加标题和网址。
$data = \request()->validate([
'title' => 'required',
'vimeo_id' => 'required',
'episode_number' => 'required'
]);
$pricourse->videos()->createMany($data);
在我在浏览器中添加数据后,我得到以下信息
array:4 [▼
"_token" => "82k5RnVcdzSkPoOnDYeYipuRqAcJqhXzcWAx3RwW"
"title" => array:2 [▼
0 => "Angles of Elevation"
1 => "English 2"
]
"vimeo_id" => array:2 [▼
0 => "12343"
1 => "12343"
]
"episode_number" => array:2 [▼
0 => "1"
1 => "2"
]
]
任何帮助将不胜感激..
谢谢
解决方案
我发现我没有正确地从 hmtl 页面传递数据。我对其进行了一些更改。
<input type="text" name="videos[0][title]">
<input type="text" name="videos[0][vimeo_id]">
<input type="text" name="videos[0][episode_number]">
<input type="text" name="videos[1][title]">
<input type="text" name="videos[1][vimeo_id]">
<input type="text" name="videos[1][episode_number]">
我的控制器代码如下
$data = \request()->validate([
'videos.*.title' => 'required',
'videos.*.vimeo_id' => 'required',
'videos.*.episode_number' => 'required'
]);
$pricourse->videos()->createMany($data['videos']);
我所要做的就是在 createMany 中传递 $data['videos']
谢谢大家的帮助。它充当了指针
推荐阅读
- c# - 并行运行多个任务会导致 System.AggregateException
- javascript - 使用 Telegraf/Node.js 等待消息响应
- java - 如何配置 ResourceHttpRequestHandler 支持的方法?
- json - Power Query Editor (Excel) - 错误处理 API 提要中的无数据
- unity3d - 在投射之前从相机偏移光线
- javascript - 在手动刷新组件之前,从弹出窗口添加的数据不可见
- api - 显示来自 api VueJS 的数据
- php - WordPress 随机返回 404 错误
- sql - SQL,在运算符之间但仅使用一列
- r - 如何从 R 中的矩阵创建精确对应的热图