Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 26.03.2018 16:59:05

Как настроить грамотный вывод последнего сообщения?

Версия Laravel 5.5
Версия PHP 7.0
Операционная система Windows 10 x64
Версия сервера БД MySQL 5.6

Помогите пожалуйста правильно настроить форму вывода последнего сообщения (пытаюсь создать аналогично выводу диалогов ВК).

       

 @foreach ($dialogs as $dialog)
              @php($message = $dialog->lastMessage())
              @php($message_user = $message->user)
              @php($recipient = $message->friend)
                <a href="{{ route('chat.show', $dialog->id) }}" >
              <div class="dialog">
                <onlineuser v-bind:friend="{{ $message_user }}" v-bind:onlineusers="onlineUsers"></onlineuser>
                @if($message->user_id == $user->id)
                    @if(!empty($recipient->avatar))
                        <img src="/storage/avatars/{{ $recipient->avatar }}"
                             alt="{{ $recipient->name }}"
                             class="img-circle minimal">
                    @else
                        <img src="/img/no_user.jpg"
                             alt="{{ $recipient->name }}"
                             class="img-circle minimal">
                    @endif
                    <span class="friendname">{{$recipient->name}}</span>
                    <span class="message-box">{{$message->chat}}</span>
                    <span class="message-time">{{ date('d.m.Y в H:i', strtotime($message->created_at)) }}</span>
                @else
                    @if(!empty($recipient->avatar))
                        <img src="/storage/avatars/{{ $recipient->avatar }}"
                             alt="{{ $recipient->name }}"
                             class="img-circle ">
                    @else
                        <img src="/img/no_user.jpg"
                             alt="{{ $recipient->name }}"
                             class="img-circle">
                    @endif
                    <span class="friendname">{{$recipient->name}}</span>
                    <span class="message-box">{{$message->chat}}</span>
                    <span class="message-time">{{ date('d.m.Y в H:i', strtotime($message->created_at)) }}</span>
                  @endif
              </div>
            </a>
            @endforeach

Мне необходим вывод постоянных: имя $recipient и его же аватара, а оно выводит то мой аватар с именем, то реципиента, зависит от того кто последним написал сообщение в диалоге. Как настроить корректный вывод?

Изменено vladimirr89 (26.03.2018 17:04:28)

Не в сети

#2 02.04.2018 07:26:18

Re: Как настроить грамотный вывод последнего сообщения?

Вы пытаетесь вывести последнее сообщение, но оно выводит данные в зависимости от последнего сообщения... Вроде все правильно работает?
Меня смущает строка v-bind:friend"{$message_user}". Если я все правильно понимаю, vue ждет в этом месте название переменной, которая в нем определена, а здесь передается значение из php

Не в сети

Подвал раздела