簡體   English   中英

如何使用雄辯的方法在laravel 5.4中批量插入

[英]How to bulk insert in laravel 5.4 using eloquent

我有一個html表單,在我的表單中,我想使用laravel雄辯地將其批量插入數據庫。

這是我的保存方法。

public function storecheque(Request $request)
{
    $directcheque=new Directcheque();
    $directcheque->client_id=$request->input(['client_id']);
     $directcheque->bank_id=$request->input(['b_name']);
     $directcheque->cheq_amt=$request->input(['cheqamt']);
     $directcheque->cheq_no=$request->input(['cheq']);
     $directcheque->collc_date=$request->input(['cdate']);

        $directcheque->save();
        redirect(route('directcheqentry'));


}

這是我的表單視圖。

  <div class="row">
            <div class="col-md-2">
              <select name="b_name[]" class="form-control b_name" required="">
              <option value="">-Select Bank-</option>
              @foreach($banks as $bank)
              <option value="{{$bank->id}}">{{$bank->bank_name}}</option>
             @endforeach
            </select>
                </div>

       <div class="col-md-3">
        <input type="text" name="cheqamt[]" class="form-control cheq" value="0" required="">
      </div>
            <div class="col-md-2">
              <input type="text" name="cheq[]" class="form-control cheq" value="0" required="">
            </div>
            <div class="col-md-2">
              <input type="date" name="cdate[]" class="form-control cdate" required="">
            </div>

你怎么了

我認為您可以在沒有input()的情況下使用請求,如下所示:

 .....
 $directcheque->client_id=$request->client_id;
 ....

希望能幫助到你 :)

這是一個示例,而不是解決方案,請耐心等待。

可以將所有輸入發布到Array中,這樣也可以將其作為PHP Array接收,如下所示:

 <div class="row"> <form action="/thecontrollername" method="post"> <div class="col-md-2"> <select name="cheq[bank_name]" class="form-control b_name" required=""> <option value="">-Select Bank-</option> @foreach($banks as $bank) <option value="{{$bank->id}}">{{$bank->bank_name}}</option> @endforeach </select> </div> <div class="col-md-3"> <input type="text" name="cheq[amt]" class="form-control cheq" value="0" required=""> </div> <div class="col-md-2"> <input type="text" name="cheq[amount]" class="form-control cheq" value="0" required=""> </div> <div class="col-md-2"> <input type="date" name="cheq[date]" class="form-control cdate" required=""> </div> <div class="col-md-2"> <input type="submit" name="submit" value="Save"> </div> </form> </div> 

然后在您的控制器中,您可以收到數組“ cheq”

現在可以在控制器存儲功能中或任何位置進行調用:

$cheq = $request->input('cheq');

現在,您可以像這樣初始化$directcheque

$directcheque=new Directcheque($cheq);

並保存它或執行您想要的操作。

$directcheque->save();

只要在表格中輸入正確的字段名稱即可。

如果收到錯誤消息:

General error: 1364 Field 'some_field' doesn't have a default value

確保:

protected $fillable = [ 'some_field']; 在模型類中聲明,並且$ fillable必須具有您希望通過上述方法通過初始化填充的所有鍵(字段名稱)。

干杯

暫無
暫無

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

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