簡體   English   中英

Laravel,將數組中的多個變量存儲到數據庫中

[英]Laravel, store multiple variables from array into DB

我不確定問題標題是否正確,但在下面的示例中我想做的很清楚我有 3 個 arrays 並且我想將數據存儲在一個表中

表結構是這樣的

表名:tour_transsports

ID

transport_id

運輸軌道

transport_note

arrays 來自刀片

  "transport_id" => array:2 [
    1 => "1"
    5 => "5"
  ]
  
  
  "transport_track" => array:3 [
    1 => " from airport to the hotel"
    3 => null
    5 => " be ready at 4:pm"
  ]
  
  
  "transport_note" => array:3 [
    1 => "from hotel to the beach"
    3 => null
    5 => " bring ur swiming suite"
  ]

所以你看到id是1和5所以我想在這里存儲兩行

id = 1,transport_id = 1, transport_track = 從機場到酒店, transport_note = 4:pm 准備好

id = 2,transport_id = 5, transport_track = 從酒店到海灘, transport_note = 帶上你的游泳套房

我試圖這樣做,但無法正確

 if(!empty($request->transport_id))
     {
       foreach ($request->transport_id as $key => $transport_id) {
         
         foreach ($request->transport_track as $key => $track) {

           foreach ($request->transport_note as $key => $transport_note) {
       

        TourTransport::create([
        'transport_id' =>$transport_id,
        'transport_track' =>$track[$transport_id],
        'transport_note' =>$transport_note[$transport_id]
                               ]);

              }
         
          }
       }
     }

您可以使用此代碼來實現您的結果:

$data = $request->only('transport_id', 'transport_track', 'transport_note');

foreach ($data['transport_id'] as $key => $transportId) {
    TourTransport::create([
        'transport_id' => $transportId,
        'transport_track' => $data['transport_track'][$key],
        'transport_note' => $data['transport_note'][$key],
    ]);
}

現在 $results 包含所需的數據。 然而,更好的解決方案可能是配置您的 html 表單以在單個數組條目中發送相關數據,例如:

<input type="text" name="transports[0][transport_id]">
<input type="text" name="transports[0][transport_track]">
<input type="text" name="transports[0][transport_note]">

<input type="text" name="transports[1][transport_id]">
<input type="text" name="transports[1][transport_track]">
<input type="text" name="transports[1][transport_note]">

您還可以使用 Javascript/php 循環來生成表單輸入。 然后您將在服務器端以格式良好的結構接收表單數據,例如:

"transports" => array:2 [
   [
       'transport_id' => 1,
       'transport_track' => 'from airport to the hotel',
       'transport_note' => 'be ready at 4:pm',
   ],
   [
       'transport_id' => 5,
       'transport_track' => 'from hotel to the beach',
       'transport_note' => ' bring ur swiming suite',
   ],
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM