因此,我在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
整个对象,它仍然决定每次返回...