我是Laravel的新手,现在使用Laravel版本5.2。
我有这组数组:
{
"id": 2,
"title": 'sample',
"question_index": 1,
"question": "Hope you could help me buddy.",
"data": [
{
"id": 1,
"answerswer": 'yes',
}
]
}
数组是使用以下雄辩查询创建的:
$exam_data = $this->template->where('id', $id)
->with('data')
->get();
现在我想使用 Laravel 5 检索该数组中的"数据"数组。
我尝试了以下代码,但无济于事...
$user_data = $exam_data->data;
$user_data = $exam_data['data'];
$user_data = $exam_data->get('data');
虽然我可以使用这个来摘它:
$user_data = $exam_data->pluck('data');
有这个结果(我不知道为什么,但我不满意):
[
[
{
"id": 1,
"answerswer": 'yes',
}
]
]
有什么方法或方法可以用来检索"data"数组吗?
比如:
$user_data = $exam_data->data;
访问"答案"字段怎么样?
$user_data = $exam_data->data->answer;
Is this possible?
感谢任何意见或建议。 谢谢!
$exam_data = $this->template->where('id', $id)
->with('data')
->get();
返回 M条记录的Collection
,如下所示:
Collection [
0 => Collection,
1 => Collection,
]
这就是为什么你不能直接从$exam_data
访问"数据",这就是->pluck()
为你所做的。
pluck()
的作用与:
$filtered = [];
foreach ($exam_data as $exam) {
$filtered[] = $exam->data;
}
如果你dd($filtered)
你就会得到你所追求的。
但是,如果您期望单个记录,则可以使用 ->first()
而不是 ->get()
,后者返回单个集合,您可以在其中访问数据关系:
$exam_data = ..... ->first();
$data = $exam_data->data;