我使用的是Laravel 5.5,我正在执行数据库选择:
Users::with("calendarMap")->where("id", $user->id)->get();
\Log::info($inviter);
这是Log
:
[
{
"id":12,
"name":" ",
"email":"sendfrombrazil@gmail.com",
"first_name":null,
"last_name":null,
"status":"active",
"is_activated":0,
"created_at":"2018-02-06 06:57:48",
"updated_at":"2018-02-06 06:57:48",
"calendar_map":{
"member_id":7,
"calendar_id":6,
"user_id":12,
"invited_by":10,
"color":"#7D96E3",
"role":"guest",
"added_at":"2018-02-06 06:02:48"
}
}
]
但是,在我需要的时候使用$inviter[0]->calendar_map->calendar_id
会因为抛出错误Trying to get property of non-object
而失败。
如果我然后退出$inviter[0]->calendar_map
,它只会显示NOTHING
[2018-02-06 08:11:51] local.INFO:[3空格]
让我愤怒的是,以前我做过一些非常相似的事情,通过查询with
另一个班级,我完成了完全相同的事情我展示并工作了。这里发生了什么?
答案 0 :(得分:3)
我没有显示,但分配关系的方法名称是calendarMap
。虽然对象显示calendar_map
,但正确的方法是:
$inviter[0]->calendarMap