我正試圖在Laravel中提交這些資料到資料庫。我的意圖是在同一時間提交,這只是兩行,但我想把它們一起發送,即使它得到10行我可以提交。
0: {item: "電子產品", subitem: "Laptop", subitem2: "Hard D", unit: "長度-米(m)"}。
1: {item: "電子產品", subitem: "Laptop", subitem2: "Hard D", unit: "長度-米(m)"}。
我試過的東西
for ($i = 1; $i < count($request-> all()); $i ) {
$answers[] = [
'item' => $request-> item[$i]。
'subitem' => $request->subitem[$i] 。
'subitem2' => $request->subitem2[$i].
];
我試著用上面的代碼做一個for回圈,但它不作業。得到下面的錯誤
count()。引數必須是一個陣列 或一個物件,實作 Countable。
uj5u.com熱心網友回復:
因此,經過評論中的討論,你所要實作的解決方案可以是:
foreach ($request-> all() as $data){
專案::插入([
'item' => $data['item'] 。
'subitem' => $data['subitem'] 。
'subitem2' => $data['subitem2'] 。
'unit' => $data['unit'].
]);
}
如果你沒有一個模型,并且你真的使用DB facade進行插入,那么你可以這樣做:
DB::table('items')->insert([
'items' => $data['items'] 。
'subitem' => $data['subitem'] 。
'subitem2' => $data['subitem2'] 。
'unit' => $data['unit'].
]);
但是你必須建立專門的模型。
同時你需要驗證你的輸入,$request->all()太籠統了,但這是對未來改進的一個建議,也是需要記住的。
不要相信用戶從前端發送的資料。
uj5u.com熱心網友回復:
看看這里的laravel檔案。 https://laravel.com/docs/8.x/queries#insert-statements
下面是一個他們用于插入多條記錄的例子
DB::table('users')->insert([
['email' => '[email protected]', 'votes' => 0] 。
['email' => '[email protected]', 'vote' => 0],
]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/320616.html
標籤:
上一篇:以雄辯的方式加載一對多的關系模型,沒有主鍵,但有多個重疊欄位
下一篇:使用Laravel匯入CSV資料
