laravel - Laravel VUEJS axios如何将数组插入数据库
问题描述
我有一个从 vue 传递到控制器的数组:
axios.post('./api/po',{addStudent:this.addStudentForm});
这是我的控制器的样子:
return $request->addStudent;
我成功地将它通过控制器,因为它能够返回它:
{student: "test", year: 1, age: "13"}
如何将其插入数据库?我试过在控制器中做这样的事情:
return Students::create([
'student': $request['student'],
'year': $request['year'],
'age': $request['age'],
]);
但是它不起作用并返回错误。
Error:
Integrity constraint violation: 1048 Column 'student' cannot be null
提前致谢
解决方案
您说您可以返回$request->addStudent
并得到所需的响应:{student: "test", year: 1, age: "13"}
. 这意味着您需要像这样访问请求属性:
return Students::create([
'student': $request->addStudent['student'],
'year': $request->addStudent['year'],
'age': $request->addStudent['age'],
]);
或者,您可以配置您的 axios 请求以将addStudent
对象作为请求正文发送,如下所示:
axios.post('./api/po', this.addStudentForm);
然后,您将能够在请求后单独访问属性:
return Students::create([
'student': $request->student,
'year': $request->year,
'age': $request->age,
]);
推荐阅读
- c# - C#验证类属性中的整数用户输入
- mysql - 如何将条件应用于子查询(MySQL)
- javascript - 如何保留 selectAll 选项的选中复选框
- reactjs - ckeditor在加载时导致重新加载
- python - mqtt 用户名或密码错误
- python - 需要帮助从多个网页中抓取信息并以表格形式导入到 csv 文件 - Python
- sass - 如何在包含之前向 Sass/SCSS 文件提供配置变量?
- html - 图像超出 Bootstrap 4 中的列宽
- react-native - 如何重置导航参数
- reactjs - 如何在 React Native 中创建和导航动态路由或屏幕