我有一张表,其中一列的数据类型为“ json”。该列称为payment_data
,其中有一个JSON对象:
{"success":true,"status":0,"resposta":"OK","referencia":"44304425","entidade":"5555"}
我找到了一个在线示例,可以使用以下示例直接在Laravel中调用:
{{ $order['payment_data->entidade']}}
但是它不起作用,所以我猜这是不对的。是否可以使用帮助程序直接获取信息?
答案 0 :(得分:1)
您必须在模型中覆盖强制转换变量:
protected $casts = [
'payment_data' => 'object'
];
然后您可以像这样使用
:{{ $order->payment_data->entidade }}
答案 1 :(得分:0)
您可以在模型上使用attribute casting,这将允许您以数组形式访问JSON数据。
例如,您可以将以下内容添加到模型类中:
protected $casts = [
'payment_data' => 'array',
];
然后,您应该能够访问JSON值内的值,例如:$order->payment_data['entidade']
。
答案 2 :(得分:0)
尝试:
$order = new Order::find( 1 );
$json_data = json_decode( $order->payment_data );
echo $json_data->entidade;