Laravel 5.6 - захватить сообщение от контроллера в поле зрения - PullRequest
0 голосов
/ 09 ноября 2018

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

return redirect('/myroute')
            ->with('message', [
                'type' => 'success', 
                'text' => 'It works'
            ]);

В моем файле просмотра я пытаюсь получить текст сообщения, но безуспешно. Смотрите мой код ниже

@if(Session::has('message'))
    {{ $msg = Session::get('message') }}
    <h4>{{ $msg->text }}</h4>
@endif

Суть в том, что условие работает, если я изменил {{$ msg-> текст}} на любой текст, который он работает, но когда я пытаюсь получить текст сообщения, он возвращает ошибку:

htmlspecialchars () ожидает, что параметр 1 будет строкой, а массив задан

Итак, любая помощь приветствуется. Если вам нужна дополнительная информация, просто спросите.

PS: я проверил этот вопрос , но безуспешно Редакция: PS2: не может изменить структуру контроллера

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Сделайте это вместо

return redirect('/myroute')->with('success','It worked');

Тогда на ваш взгляд

{{session('success')}}
0 голосов
/ 09 ноября 2018

Попробуйте получить доступ к массиву следующим образом:

<h4>{{ $msg['text'] }}</h4>

или просто передать массив с элементами

->with([
            'type' => 'success', 
            'text' => 'It works'
        ]);

//in the view
@if(session()->has('text'))
    <h4> {{ session('text') }} </h4>
@endif

- РЕДАКТИРОВАТЬ

итерация, чем в течение сеанса, например:

@foreach (Session::get('message') as $msg)
  {{$msg['text']}}
@endforeach

Вы можете узнать больше об этом здесь

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