Laravel:如何在数据库中存储json格式的数据? [英] Laravel : How to store json format data in database?
问题描述
我想从给定数组中将一些json格式的数据存储在数据库中.但是我如何使用控制器存储它.
I want to store some json format data in database from a given array. But How i do store it using controller.
假设我有json数据,如:
Suppose I have json data like :
{"id":"bangladesh","divisions":[{"name":"Barisal"},{"name":"Chittagong"},{"name":"Dhaka"},{"name":"Khulna"},{"name":"Rajshahi"},{"name":"Rangpur"},{"name":"Sylhet"}]}
据我所知,在控制器中使用json格式的代码是这样的,因为我对此并不完全了解.
So far as I know in controller using json format is like this as I'm not fully aware of it.
public function saveUser(Request $request)
{
$div=new Div();
$user->json = json_encode( array({"Date 1": {
{"id":"bangladesh","divisions":[{"name":"Barisal"},{"name":"Chittagong"},{"name":"Dhaka"},{"name":"Khulna"},{"name":"Rajshahi"},{"name":"Rangpur"},{"name":"Sylhet"}]}
$div->save();
return redirect('getList');
}
如何使用Laravel Controller将其仅保存在Division Model中的分区列表中?
How do i save it in mySQL only the list of divisions in Division Model using Laravel Controller?
推荐答案
您不需要自己将数组数据转换为JSON字符串,请在模型上使用Laravel $ casts参数:
You don't need to convert the array data to a JSON string yourself, use the Laravel $casts parameter on your model: https://laravel.com/docs/5.2/eloquent-mutators#attribute-casting
您应该在Div模型中执行以下操作:
You should do something like this in your Div model:
protected $casts = [
'divisions' => 'array',
];
这篇关于Laravel:如何在数据库中存储json格式的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!