Свойство объекта просто абсолютно не отменяется - PullRequest
1 голос
/ 09 мая 2019

Итак, у меня есть Event в Laravel, который просто передает объект типа 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 весь объект, и он все еще просто решает возвращаться каждый раз ...

...