Laravel 如何制作一个处理对象数组的 POST?
Posted
技术标签:
【中文标题】Laravel 如何制作一个处理对象数组的 POST?【英文标题】:Laravel How to make a POST that handles an array of objects? 【发布时间】:2020-04-02 09:05:48 【问题描述】:这是我要插入的表格的模型:
protected $table ="final_schedule";
public $timestamps = false;
protected $fillable = [
'CWID', //varchar
'CRN', //int
'Date_Registered'//date
];
这是我现在拥有的插入功能:
<?php
namespace App\Http\Controllers\Student;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\finalScheduleModel;
class finalScheduleController extends Controller
public function insert(Request $request)
$finalSchedule = new finalScheduleModel;
$finalSchedule->CWID=$request->input('CWID');
$finalSchedule->CRN=$request->input('CRN');
$finalSchedule->Date_Registered=$request->input('Date_Registered');
$finalSchedule->save();
路线:
Route::post('insert/', 'Student\finalScheduleController@insert');
这是我希望它处理的数据:
[
"CWID":"C38475920",
"CRN":345627,
"Date_Registered":"2020-04-02"
,
"CWID":"C38475920",
"CRN":678595,
"Date_Registered":"2020-04-02"
,
"CWID":"C38475920",
"CRN":473876,
"Date_Registered":"2020-04-02"
]
至少我认为是。上面的数据结构是不是和这个一样?
(3) […, …, …]
0: …
1: …
2: …
【问题讨论】:
【参考方案1】:您甚至可以通过一次 insert 调用将多条记录插入表中
$items = $request->all();
$items = [
[
"CWID"=>"C38475920",
"CRN"=>345627,
"Date_Registered"=>"2020-04-02"
],
[
"CWID"=>"C38475920",
"CRN"=>678595,
"Date_Registered"=>"2020-04-02"
],
[
"CWID"=>"C38475920",
"CRN"=>473876,
"Date_Registered"=>"2020-04-02"
]
]
finalScheduleModel::insert($items);
或
DB::table('final_schedule')->insert($items);
【讨论】:
甜哥!谢谢一百万以上是关于Laravel 如何制作一个处理对象数组的 POST?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用处理 Java 库将自定义形状数组和字符串数组合并到 JSON 对象中