Laravel 5 Async Database Transaction?

Странная проблема здесь, у меня есть вид content.home который опирается на аутентифицированного пользователя User модель для разрешения и передачи ей.

Прежде чем модель User будет готова, у меня есть простая функция, в которой я передаю имя аутентифицированному пользователю. User модель.

Этот код ниже, включая возвращаемое представление:

    public function name()
{
$input = Input::all();
$name = $input['name'];
if(strlen($name)>2) //some validation
{
$user = User::where('id',Auth::id())->first();
$user->name = $name;
$user->save();
return view('content.home')->with('user', Auth::user());
}
}

Моя проблема в том, что когда я возвращаю представление, у меня нет пользователя name, Как только я обновляю страницу, она появляется. Другие пользовательские данные, предоставленные Auth::user() есть, но не имя. Как это может быть, когда я только что сохранил это? Это не NULLопять же, если я обновлю страницу сразу, она появится.

Я получаю name в виде клинка вот так:

{{$user->name}}

Является save() асинхронный? Я так не думаю. Есть ли задержка?

Как я могу убедиться, что передаваемая модель правильно разрешена?

Спасибо!

0

Решение

Ответ на этот вопрос, если у кого-то есть похожая проблема:

Причина, по которой это не удалось выполнить без обновления, заключается в том, что на Auth::user(),

Когда я прохожу $user Я сохранил, а не Auth::user(), хотя это один и тот же пользователь, он работает.

Так что меняй return view('content.home')->with('user', Auth::user());

в

return view('content.home')->with('user', $user);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector