laravel将数组值存储/插入数据库mysql

wvt8vs2t  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(481)

我的问题是我不能在mysql数据库中存储或插入数组值,这是我的控制器代码请帮助我。谢谢您。我在控制器中的代码没有数组,所以。。我不知道怎么把它变成数组。
控制器

public function store(Request $request)
{
    $this->validate($request,[
        'city' => 'required'

    ]); 

   $citi = new City;
   $citi->city = $request->input('city');
   $citi->save();

   return redirect('/lugar')->with('success', 'Data Inserted');
}

看法

<td> {{Form::text('city[]', '', ['class' => 'form-control name_list', 'placeholder' => 'Add Country'])}} </td>
oipij1gg

oipij1gg1#

实际上,您可以使用serialize或json编码来保存它。
使用序列化:

$citi->city = serialize($request->input('city'));

使用json编码:

$citi->city = json_encode($request->input('city'));

然后在你的blade文件上使用unserialize和json解码。

4uqofj5v

4uqofj5v2#

你不能在mysql中存储数组,如果你把它和mongo(nosql)比较,那就不一样了。
您可以做的是,将该数组转换为json字符串。所以呢 json_encode($request->city) 保存它。
然后,如果您想在从db中检索之后修改它的值,您可以使用 json_decode($data->city) 把它变成一个数组。

相关问题