如何使用laravel将动态行的表数据保存到数据库中

时间:2018-03-15 12:53:21

标签: javascript laravel eloquent

我正在创建一个包含一行的表,其中包含两个输入字段,如friend_name和Contact_no,当用户单击添加联系人时,按钮为“添加联系人”,然后再创建一行,但只有一列作为联系号。这样用户可以为单个好友添加多个联系人并将其保存到数据库中。这是为一个有多个contact_no的朋友完成的。在一个非常容易的时间。 我只为一个朋友创建了多个联系人,如下所示

<form action "..." mehtod="post">
  <table id="table1">
    <thead>
      <tr>
        <th>friend</th>
        <th>Contact No.</th>
        
      </tr>
    </thead>
    <tbody>
  </table>

  <button id="addcontact" type="button" float: right;" onclick="addcontact()">add contact</button>
  <button id="deletecontact" type="button" float: right;" onclick="deletecontact()">delete contact</button>

  <input type="submit" value="submit" name="submit">
</form>

<script>
  function addcontact() {
    document.getElementById("table1").insertRow(-1).innerHTML = '<td> <input type="hiddden"> </td><td> <input type="text" name="contact_no[]"></td>';
  } 
  function deletecontact() {
   var table = document.getElementById('table1');
    var rowCount = table.rows.length;
    table.deleteRow(rowCount -1);
  } 
 <script>
 

我的控制器是......

public function addfriendcontact(Request $request)
{ 
  $count = count(Input::get('contact_no'));
  for($i = 0; $i<$count; $i++)
  {
      $friend = new Friend;
      $friend->name = $request->name;
      $friend->contact_no = $request->contact_no[$i];
      $friend->save();
  }
    return back();
}

但是我希望一次创建多个朋友和多个朋友的联系人,并使用laravel将数据保存到数据库中我该怎么做。

1 个答案:

答案 0 :(得分:0)

1)您需要在操作属性中添加一个链接来发布您的表单。还添加了csrf字段。因为它可以保护您的应用程序免受跨站点请求伪造(CSRF)攻击。没有它,它将引发错误。

<form action="/contacts/insert-contact" mehtod="post"> 
{{ csrf_field() }}

2)您需要将此行添加到您的web.php文件中。请注意,ControllerName必须是实际控制器

Route::post('contacts/insert-contact','ControllerName@addfriendcontact');

3)现在在Controller中你必须插入你的方法。就是这样。

我希望它有所帮助。 :)