我是laravel的新手,现在正在使用Laravel 5.2版。
我有这组数组:
{
"id": 2,
"title": 'sample',
"question_index": 1,
"question": "Hope you could help me buddy.",
"data": [
{
"id": 1,
"answer": 'yes',
}
]
}
使用以下雄辩查询创建数组:
$exam_data = $this->template->where('id', $id)
->with('data')
->get();
现在我想使用Laravel 5检索该数组中的'data'数组。
我尝试了以下代码,但无济于事......
$user_data = $exam_data->data;
$user_data = $exam_data['data'];
$user_data = $exam_data->get('data');
虽然我可以使用它来解决它:
$user_data = $exam_data->pluck('data');
有这个结果(我不知道为什么,但我对此不满意):
[
[
{
"id": 1,
"answer": 'yes',
}
]
]
我可以使用任何方法或方法来检索'数据'数组吗?
喜欢例如:
$user_data = $exam_data->data;
以及如何访问“回答”字段?
$user_data = $exam_data->data->answer;
Is this possible?
感谢任何意见或建议。谢谢!
答案 0 :(得分:0)
public static function login_checks($uname,$password)
{
$check = DB::table('customer_login')
->where('username','=',$uname)
->where('password','=',$password)->get();
if($check)
{
//Session::put(['customer_id'=>'value']);
Session::put('customer_id', $check[0]->customer_id);
Session::put('username', $check[0]->username);
return 1;
}
else
{
return 0;
}
}
返回{<1}}个m 多条记录,类似于:
$exam_data = $this->template->where('id', $id)
->with('data')
->get();
这就是您无法直接从Collection
访问“数据”的原因,而这正是Collection [
0 => Collection,
1 => Collection,
]
为您所做的事情。
$exam_data
的作用与:
->pluck()
如果你pluck()
得到了你想要的东西。
但是,如果您希望使用单个记录,则可以使用$filtered = [];
foreach ($exam_data as $exam) {
$filtered[] = $exam->data;
}
代替dd($filtered)
,这会返回单个集合,您可以在其中访问数据关系:
->first()