在数据库中存储一个可以动态添加字段的表单数组(laravel)

Storing an array in a database from a form where you can dynamically add fields (laravel)

本文关键字:laravel 添加 动态 字段 表单 数组 一个 数据库 存储      更新时间:2023-09-26

我想在我的注册表单中有一个字段,用户可以在其中输入字符串列表。他们应该能够添加尽可能多的字符串列表,因为他们喜欢通过点击一个按钮。此列表需要存储在后端并显示在其配置文件页面上。

在我的注册控制器中,我希望有一些沿着

的行
//set user's list of strings to those from the registration form
$user->items = $request->items

然后在用户配置页面上,我将显示这个项目列表

<ul>
    <li>{{$user->item1}}</li>
    <li>{{$user->item2}}</li>
    <li>{{$user->item3}}</li>
<ul>

html:

 <div id="dynamicInput">
       <span class="glyphicon glyphicon-plus" onClick="addInput('dynamicInput');"></span>
 </div>

javascripts:

function addInput(divName)
{ 
          var newdiv = document.createElement('div');
          newdiv.innerHTML = "<input type='text' name='items[]'>";
          document.getElementById(divName).appendChild(newdiv);    
}

后端存储:

foreach($items as $item)
{
 if(!empty($item))
  {     
    $add=new Item();   //Item is the model
    $add->name=$item;  //saving item to name column
    $add->save();       
  }
}
显示:

$items=Item::where(['id'=>$id])->get(); 
foreach($items as $item)
{
       <li>{{$item->name}}</li>  // retreiving item from name column
}