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