【发布时间】:2020-08-09 16:23:31
【问题描述】:
我以json格式存储数据
$data = [
'applicant_name' => auth()->user()->name,
'post_held' => getDesignation(auth()->user()->designation_id)->name,
'department' => request('department')
];
$leave = new Leave;
$leave->user_id = auth()->user()->id;
$leave->data = json_encode($data);
$leave->save();
如果我想从数据字段中显示申请人姓名,我该如何检索它们?
我在努力——
$leave = Leave::find($leave_id);
return $leave->data['applicant_name'];
如果我 dd($leave) 那么它给了我
"id" => 2
"user_id" => 7
"data" => "{"applicant_name":"Mousumi Roy","post_held":"Administrative Officer Judicial","department":"Computer"}"
"created_at" => "2020-04-25 17:38:25"
"updated_at" => "2020-04-25 17:38:25"
【问题讨论】:
-
$leave->data看起来像一个 JSON 字符串,所以您是否尝试过使用json_decode()然后访问这些值。 -
我收到“响应内容必须是实现 __toString() 的字符串或对象,给定的“对象”。” - 如果我喜欢这个错误
-
所以如果它是一个对象,
$leave->data->applicant_name工作吗