Laravel:如何将json格式数据存储在数据库中?

我想从给定的数组中存储一些json格式数据到数据库中。 但我如何使用控制器来存储它。

假设我有json数据,如:

{"id":"bangladesh","divisions":[{"name":"Barisal"},{"name":"Chittagong"},{"name":"Dhaka"},{"name":"Khulna"},{"name":"Rajshahi"},{"name":"Rangpur"},{"name":"Sylhet"}]}

据我所知在控制器中使用json格式就像这样,因为我没有完全意识到它。

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');
        }

我如何将它保存在mySQL中只使用Laravel控制器的Division Division中的部门列表?


您不需要自己将数组数据转换为JSON字符串,请在您的模型上使用Laravel $ casts参数:https://laravel.com/docs/5.2/eloquent-mutators#attribute-casting

你应该在Div模型中做这样的事情:

protected $casts = [
    'divisions' => 'array',
];

您可以将模型转换为JSON格式,如$model->toJson();

要么

如果你有一个数组中的数据,你可以使用json_encode(['id' => 1, 'name' => 'User 1']);

Laravel Schema支持JSON字段类型以及https://laravel.com/docs/5.0/schema#adding-columns

您也可以使用text字段类型来存储JSON数据。

链接地址: http://www.djcxy.com/p/92267.html

上一篇: Laravel : How to store json format data in database?

下一篇: Deserializing Json in Console App