You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何访问bookings表e_provider列的对象属性

解决方法

你的e_provider字段存储的是JSON格式的字符串,不是PHP对象,所以直接用$data->e_provider->name会报错,需要先把JSON字符串解析成对象或数组,下面是两种常用方案:

1. 手动解析转换

获取数据后,使用json_decode()函数将JSON字符串转为PHP对象,之后就能直接通过属性访问:

// 假设$data是从数据库查询得到的对象
$data->e_provider = json_decode($data->e_provider);

// 现在可以直接访问name属性
echo $data->e_provider->name;

2. 框架自动转换(以Laravel为例)

如果用Laravel这类ORM框架,可以在对应的模型中定义$casts属性,让框架自动完成JSON到对象/数组的转换:

class Booking extends Model
{
    // 自动将e_provider字段转为对象
    protected $casts = [
        'e_provider' => 'object',
    ];
}

这样从数据库取出Booking模型实例后,无需手动转换,直接就能用$data->e_provider->name访问属性。如果偏好数组形式访问,也可以把'object'改成'array',之后用$data->e_provider['name']访问。

内容的提问来源于stack exchange,提问作者MD Masum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 12:27:12