Call to a member function path() on null

我有一个bug
如果我在blade.php文件里的<a href="{.......}">里写

        { $activity->subject->path() }

就会得到下图这个报错

Call to a member function path() on null (View: /Users/tg/Desktop/MyWork/forum/resources/views/profiles/activities/created_thread.blade.php) (View: /Users/tg/Desktop/MyWork/forum/resources/views/profiles/activities/created_thread.blade.php)

但是同样的,如果我用dd检测:

        { dd($activity->subject->path()) }

就会得到我应该有的路径

"/threads/python/68"

求问这是怎么回事?

不了了了了了之

这个

{ $activity->subject }

还可以显示:

{"id":68,"user_id":51,"channel_id":2,"title":"sdcsd","body":"<p>ecsadawawdawdawdawd<\/p>","created_at":"2017-08-22 05:33:38","updated_at":"2017-08-22 05:33:38","replies_count":0,"creator":{"id":51,"name":"TG","email":"gaohaoqian@gmail.com","created_at":"2017-08-04 06:57:37","updated_at":"2017-08-04 06:57:37"},"channel":{"id":2,"name":"Python","slug":"python","created_at":"2017-08-04 05:39:37","updated_at":"2017-08-04 05:39:37"}

里面是有body这个属性的,但是我再进一步

    { $activity->subject->body }

就开始报错了:

(3/3) ErrorException
Trying to get property of non-object
JellyBool

在某个部分,或者说某个 subject 的时候,会去到一个空值

$activity->subject // 有可能是空值
不了了了了了之 回复 JellyBool

那diedump的值不应该是空的吗?

JellyBool 回复 不了了了了了之

因为你 die,程序还没有执行到为空的那个 subject

不了了了了了之 回复 JellyBool

搞懂了,因为没有handle删除文章的情况,就造成空了