Передача данных запроса в класс наблюдателя модели - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть следующий Обозреватель моделей:

class UserObserver {
    /**
     * @var \Illuminate\Http\Request
     */
    protected $request;

    /**
     * UserObserver constructor.
     *
     * @param \Illuminate\Http\Request $request
     */
    public function __construct(Request $request)
    {
        $this->request = $request;
    }

    /**
     * User created
     *
     * @param User $user
     * @throws \Exception
     */
    public function created(User $user)
    {
        try {
            // Create the user's first profile for them.
            $profile = $user->profiles()->create([ 'name' => $this->request->get('username'), 'description' => null ]);

            // Set the users active profile to the one just created.
            $user->active_profile = $profile->id;
            $user->save();

        } catch(\Exception $e) {
            throw new \Exception($e->getMessage());
        }
    }
}

У меня также есть сеялка таблицы пользователей, которая задает новый запрос:

 $request = new \Illuminate\Http\Request();
 $request->replace(['username' => $user['username']]);

В тот момент, когда сеялка работаетвыполнить запрос устанавливается, и это было проверено как работающее внутри класса seeder, однако, как только он попадает в Model Observer, запрос становится пустым (null).

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

Надеюсь, это имеет смысл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...