对象属性绝对拒绝取消设置

时间:2019-05-09 05:07:42

标签: php laravel laravel-5 php-7

因此,我在Laravel中有一个Event,它只是将类型为Activity的对象广播到套接字通道上。

有时候我的activity太大了,所以我试图从中删除一些属性。我已经尝试了所有内容,并且在一行上正确地删除/取消设置,然后在下一行上又将其恢复。


    public function broadcastOn()
    {
       // Approach 1: Set projects to null
       $this->activity->activityable->projects = null;

       Log::info($this->activity->activityable->projects); // This'll be null

       // Approach 2: Unset
       unset($this->activity->activityable->projects);

       Log::info($this->activity->activityable->projects); // This'll be undefined

       // Approach 3: Overwrite the whole activity
       $activity = $this->activity;

       unset($activity->activityable->projects);
       Log::info(json_encode($activity)); // Projects isn't in this one

       $this->activity = $activity;

       // Tada! Projects is magically back! Doesn't matter what ya do!
       Log::info(json_encode($this->activity));

       return new PresenceChannel('account_'.$this->activity->account_id);
    }

有人知道该怎么办吗?我也尝试过json_encode,然后json_decode整个对象,它仍然决定每次返回...

0 个答案:

没有答案