我想从一个数组中获取一个值,该值已保存在Laravel的单个mysql列中。
我的mysql表列在Controller中看起来像这样:
virtualhost localhost:8083
我想进入请求对象部分,并从保存在request_object列中的那个数组中获取电子邮件地址值。
请让我知道如何在laravel中实现此目标,因为我尝试在刀片中的foreach中使用以下代码,但会抛出“试图获取非对象错误的属性”
代码:
$registrations = RegistrationLog::groupBy('phone_number')->get();
答案 0 :(得分:1)
您可以使用mutation来格式化雄辩的属性,就像您想要访问一样。您也可以使用attribute casting,当您对Eloquent模型调用-> toArray()方法时,将应用。或者只是json_decode($reg->request_object)->email
答案 1 :(得分:0)
这看起来不像您列中的“数组”,而是JSON字符串。
假设此数据采用有效的JSON格式:在RegistrationLog模型中,您需要使用JSON to Array casting,以便将该列解码为数组。
class RegistrationLog extends Model
{
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'request_object' => 'array',
];
}
然后您可以以$reg->request_object['email']
的身份访问