在尝试记录对象时,访问对象内部的对象显示空结果

时间:2018-02-06 08:14:26

标签: laravel object

我使用的是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另一个班级,我完成了完全相同的事情我展示并工作了。这里发生了什么?

1 个答案:

答案 0 :(得分:3)

我没有显示,但分配关系的方法名称是calendarMap。虽然对象显示calendar_map,但正确的方法是:

  

$inviter[0]->calendarMap