У меня есть контроллер
public function store(Request $request)
{if ($request->input('asc')){
$image = PropertyUser::where('user_id', '=', Auth::user()->id)->get();
foreach($image as $property)
{
$id = $property->property_id;
}
$image_ = Image::where('property_id', $id)->sortBy('description')->get();
return redirect('settings/photos');
Как я могу перенаправить с помощью переменной $image_ и отобразить ее в моем файле просмотра
@foreach ($image_ as $images)
<div class = "image-warp"><img src = "{{$images->filename}}"
style = "width:100px;height:100px;"><br/><span style = "color: #1b1e21">{{$images->description}}</span>
</div>
@endforeach






Отправьте в представление массив переменных:
return view('folder.viewfile', array(
'image_' => $image_,
'someother_variable' => $somevar,
));
он возвращается с пустой страницей
Как называется ваша точка зрения? А где хранится? Пожалуйста, замените путь в приведенном выше коде. В приведенном выше примере путь - /resources/views/folder/viewfile.blade.php, поэтому в контроллере он становится folder.viewfile.
Вы должны попробовать это:
public function store(Request $request)
{if ($request->input('asc')){
$image = PropertyUser::where('user_id', '=', Auth::user()->id)->get();
foreach($image as $property)
{
$id = $property->property_id;
}
$image_ = Image::where('property_id', $id)->sortBy('description')->get();
return view('yourfolder.yourviewfile',compact('image_'));
Обновленный ответ
use Redirect;
public function store(Request $request)
{if ($request->input('asc')){
$image = PropertyUser::where('user_id', '=', Auth::user()->id)->get();
foreach($image as $property)
{
$id = $property->property_id;
}
$image_ = Image::where('property_id', $id)->sortBy('description')->get();
Redirect::to('settings/photos?image_='. $image_);
он возвращается с пустой страницей
пожалуйста, покажите свой код после обновления с моим ответом
if ($ request-> input ('asc')) {$ image = PropertyUser :: где ('user_id', '=', Auth :: user () -> id) -> get (); foreach ($ изображение как $ свойство) {$ id = $ property-> property_id; } $ image_ = Image :: where ('property_id', $ id) -> sortBy ('описание') -> get (); возврат перенаправления ('settings.photos', compact ('image_'));
@AdokiyeIruene: замените return redirect('settings.photos', compact('image_')); на return view('settings.photos', compact('image_'));
это все еще пусто
@AdokiyeIruene: ваш файл просмотра в папке настроек справа означает ваш путь, например yourproject/resources/views/settings/photos.blade.php
Да, у меня даже есть метод создания перед методом хранилища
публичная функция create () {dd (Input :: get ('asc')); $ image = PropertyUser :: где ('user_id', '=', Auth :: user () -> id) -> get (); foreach ($ изображение как $ свойство) {$ id = $ property-> property_id; } $ image_main = Image :: where ('property_id', $ id) -> получить (); return view ('settings.photos', ['image_array' => $ image_main]); }
@AdokiyeIruene: Этот метод store() является методом публикации?
Да, метод хранения - это метод отправки
@AdokiyeIruene: Пожалуйста, проверьте мой обновленный ответ, попробуйте с обновленным ответом и дайте мне знать, работает он для вас или нет
Вы можете использовать функцию compact, чтобы передать ее вашему представлению и ссылаться на нее по имени.
return redirect('folder.name', compact('variableName');
return redirect()->route('folder.name', [$image]);
он возвращается с пустой страницей
Извините, попробуйте указать на маршрут return redirect () -> route ('/ images', [$ image]);
вы можете попробовать с кодом ниже
return view('settings/photos')->with(['image' => $image_]);
он возвращается с пустой страницей
в строке выше я дал здесь адрес демонстрационной страницы. разместите адрес своей страницы вместо ('настройки / фото'). затем на этой странице проверьте с помощью <? php dd ($ image);?> вы можете получить все данные изображений
Почему вы используете такую переменную, как $ image_, вы можете использовать ее просто как $ image или $ whatEver
return view('folder.viewfile', compact('image'));
И теперь вы можете использовать эту переменную в файле просмотра как $ image.
Он возвращается с пустой страницей
Привет, Адокие, лруене, я думаю, ваш запрос Image :: where ('property_id', $ id) -> sortBy ('description') -> get () не работает должным образом. Не могли бы вы показать мне, что он вернул?
Вы также можете отправить переменную, используя синтаксис ниже.
return view('viewfile')->with('card',$card)->with('another',$another);
Вы можете отправлять данные, используя метод перенаправления. Эти данные будут храниться внутри класса сеанса.
return redirect('url')->with('message',$message);
как показано ниже
Session::get('variableName');
Session::get('message');
я просто оказался в той же проблеме и решил с вами, ребята :)
в завершенном примере код mi заканчивался так:
Представление mi FormCreate.php получает идентификатор с предыдущей страницы, поэтому URL-адрес без маски - "FormumariosCreate / 16" в этом примере, где идентификатор = 16:
форма:
<form method = "post" action = "{{ route('FormulariosStore2', $Formularios->idFormularios ) }}"> // is importan add the id on the rute
@csrf
<input type = "text" name = "textoPregunta" required = "required" />
<button href = "" class = "btn btn-primary pull-right">Crear Nueva Pregunta</button>
</form>
рут в web.php:
Route::get('/FormulariosStore2/{idFormularios}', 'HomeController@FormulariosStore2')->name('FormulariosStore2');
Route::post('/FormulariosStore2/{idFormularios}', 'HomeController@FormulariosStore2')->name('FormulariosStore2');
и контроллер:
public function FormulariosStore2(Request $request,$id )
{
$validatedData = $request->validate([
'textoPregunta' => 'required|max:255',
]);
$ProyectoPreguntasF=ProyectoPreguntas::create($validatedData);
$Formularios = Formularios::findOrFail($id);
return redirect()->route('FormulariosCreate', $Formularios)->with('success','la operacion fue correcta.');
}
затем он перенаправляет на рут "FormulariosCreate" с идентификатором в качестве обычной ссылки с идентификатором, я надеюсь, что он может добавить некоторый контент в ответ
Сделайте это в своей функции контроллера:
$request->session()->flash('order_id', $order_id);
А ввиду просто:
{{Session::get('order_id')}}
Читать документацию? laravel.com/docs/5.6/views#passing-data-to-views