Я хотел бы выполнить какой-то код после возврата View :: make ('view'); Возможно ли это в laravel? Я знаю, что могу положить мой код в мой взгляд, но его вид плохой практики, вот мой код:laravel выполнить код после возврата
if (!$conversation == null) {
\t \t \t // here I update last_viewed time
\t \t $conversation_memb=$conversation->members()->where('user_id',Auth::user()->id)->first();
\t \t $conversation_memb->last_viewed = time();
\t \t $conversation_memb->save();
\t \t
// here I return View with some data
\t \t \t return View::make('messages.conversation')->with('conversation',$conversation)->with('messages',$conversation->messages()->orderBy('created_at','DESC')->take(10)->get()->reverse());
\t \t \t
\t \t }
Так что я хотел бы обновить время last_view только после того, как я загружаю так что сообщения будут отображаться как «Непрочитанные»
Как только вы вернетесь из функции, эта функция будет выполнена. Обратите внимание, что любой PHP-код, будь то в контроллере или в представлении, будет выполнен до отправки ответа клиенту. Если вам нужно это сделать в браузере, вам нужно будет использовать Javascript. Вероятно, вы можете использовать запрос ajax для обновления времени. –