#php #laravel
#php #laravel
Вопрос:
когда мне удается распечатать в индексном представлении каталога накладных, что было отправлено контроллером, что-то было не так при отправке возврата.
Вернуть контроллер
return view('albaranes/index',['errors','NOOOOO']);
Сбор данных на блейде
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
Ответ №1:
попробуйте withErrors()
вам нужно выполнить повторный запуск с ошибкой
return Redirect::back()->withErrors(['errors' => 'NOOOOO']);
или, если вы хотите передать как данные, тогда
return view('albaranes/index')->with(['errors','NOOOOO']);
в блейде
@if ($errors)
<div class="alert alert-danger">
<ul>
{{ $errors }} // as it is not array as u mention
</ul>
</div>
@endif
Ответ №2:
Вы должны попробовать это, возможно, это будет полезно для вас
$errors = ['You do not have sufficient permissions to access this page.'];
return view('albaranes/index',compact('errors'));
затем в блейд-файле
@if (count($errors))
<div class="alert alert-danger">
<ul>
@foreach ($errors as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
Ответ №3:
Я думаю, проблема в том, что вы неправильно задаете массив, попробуйте этот способ:
return view('albaranes/index',['errors' =>'NOOOOO']);
даже если это $errors
будет строка, а не массив, вы могли бы попробовать:
return view('albaranes/index',['errors'=>['error1', 'error2']]);
Вам придется заменить методы any()
и all()
на методы для массивов, например:
@if (count($errors)>0)
<div class="alert alert-danger">
<ul>
@foreach ($errors as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
и это должно сработать, я попробовал, и он печатает список.
Комментарии:
1. При использовании вашего кода в контроллере я получаю следующую ошибку: вызов функции-члена any() в массиве
2. Он по-прежнему не работает, но может ли быть так, что, будучи уже на странице доставки индексного представления, он работает плохо?
3. дело в том, что мне не нужно перезагружать страницу, поэтому у меня много возвращаемого просмотра, извините за плохое объяснение
4. хорошо, я нашел это, просто подавите
all()
, я отредактирую свой ответ