Как редактировать переменную, переданную событию в Laravel? - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу получить содержимое изображения, получив путь из базы данных, и декодировать исходное изображение в base64, чтобы не показывать конечному пользователю реальный путь изображения.

$user->secret_image = getImage($user->secret_image); // This gets the base64 image of the path passed to it
event(new myEvent($user));

Затем у меня есть событие для передачи обновленных данных для себя.Но проблема в том, что он не передает отредактированные данные в интерфейс в jQuery.Когда я file_put_contents('myevent.txt', json_encode($user)); в myEvent, я вижу, что значение внутри этого файла является правильным, и изображение является base64, но я не знаю, почему я не могу получить его в jQuery.Обратите внимание, что другие данные передаются правильно, и я могу получить их в jQuery, но только параметры, которые там не редактируются.

myEvent:

class myEvent implements ShouldBroadcast
{
    public $user;
    public function __construct($user)
    {
        $this->user = $user;
    }
}

jQuery:

window.Echo.channel('my-channel')
    .listen('myEvent', (update) => {
        let user = update.user;
        $('[name="first_name"]').val(user.first_name);
        console.log(user.secret_image);
    });

1 Ответ

0 голосов
/ 15 декабря 2018

Удивительно, но я просто изменил $user с объекта на массив, и это сработало: |

...