当前位置:  开发笔记 > 编程语言 > 正文

Laravel将JSON转换为数组?

如何解决《Laravel将JSON转换为数组?》经验,为你挑选了1个好方法。

我正在尝试将JSON字段转换为数组.例如,模型是这样的:

protected $casts = [
    'content' => 'array'
]; 

在插入内容时,我这样做:

'content'=> json_encode([
                'description' => $faker->paragraph(3),
                'about' => $faker->paragraph(2),
                'info' => $faker->paragraph(2),
                'updated' => $faker->dateTimeBetween('-1 years', 'now')
]),

但在获取数据时,它会打印一个字符串,而不是其他内容.

此部分中的迁移如下所示:

$campaign->json('content');

输出样本:

"content": "{\"description\":\"Ut quas quo odio illo. Voluptates quia fuga itaque sint. Velit sapiente fugit ea ut ducimus sint tempora eligendi. Ea et molestiae consequuntur quibusdam soluta voluptatem.\",\"about\":\"Aut voluptates et iste ut perspiciatis. Esse sunt ullam inventore sit doloremque et quisquam.\",\"info\":\"Corrupti et facere exercitationem consequatur aspernatur quo saepe. Omnis et tempore enim ut. Quia magnam quia enim et eos enim.\",\"updated\":{\"date\":\"2015-11-22 08:25:13.000000\",\"timezone_type\":3,\"timezone\":\"UTC\"}}",

有什么想法吗?



1> Marcin Nabia..:

定义array演员表时,您不需要做任何json_encodejson_decode.当你想插入时,你需要做的很简单:

'content'=> [
    'description' => $faker->paragraph(3),
    'about' => $faker->paragraph(2),
    'info' => $faker->paragraph(2),
    'updated' => $faker->dateTimeBetween('-1 years', 'now')
],

Laravel将完成剩下的工作

当你想获得content现场数据时,你只需要使用:

$campaign->content;

你将在这里有数组,所以如果你想显示描述,你只需要做:

echo $campaign->content['description'];

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有