Laravel将json列恢复为balde

时间:2018-02-10 01:04:04

标签: php laravel

我有表contian 3列,id + slug + name ...而name列是一个json列,数据存储就像那样

Id: 1
Slug: test
Name: {en:test;ar:تجربه}

现在在balde我只想显示name.en而不是{en:test; ar:تجربه}

2 个答案:

答案 0 :(得分:1)

اهلا。

您必须解码JSON字符串。

示例:{{ json_decode($data->name)['en'] }}

虽然在模型上使用getter会更好,例如:

Model.php:

public function getJsonNameAttribute()
{
    return json_decode($data->name);
}

在您看来:

{{ $data->json_name['en'] }}

使用@Manvir Singh的回答。它更好。

答案 1 :(得分:0)

使用json_decode不是一个好主意,在模型文件中你可以像这样投射你的列

public $casts = [ 'json_column' => 'object' ]

现在您的json列将被视为对象,您可以访问

$data->json_column->en