Laravel - перенаправить с переменной и отобразить ее в файле просмотра

У меня есть контроллер

 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

Читать документацию? laravel.com/docs/5.6/views#passing-data-to-views

Riccardo 21.05.2018 11:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
1
26 290
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Отправьте в представление массив переменных:

return view('folder.viewfile', array(
    'image_' => $image_,
    'someother_variable' => $somevar,
));

он возвращается с пустой страницей

Adokiye Iruene 21.05.2018 12:02

Как называется ваша точка зрения? А где хранится? Пожалуйста, замените путь в приведенном выше коде. В приведенном выше примере путь - /resources/views/folder/viewfile.blade.php, поэтому в контроллере он становится folder.viewfile.

Saurabh 21.05.2018 13:41
Ответ принят как подходящий

Вы должны попробовать это:

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_);

он возвращается с пустой страницей

Adokiye Iruene 21.05.2018 12:01

пожалуйста, покажите свой код после обновления с моим ответом

AddWeb Solution Pvt Ltd 21.05.2018 12:04

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_'));

Adokiye Iruene 21.05.2018 12:06

@AdokiyeIruene: замените return redirect('settings.photos', compact('image_')); на return view('settings.photos', compact('image_'));

AddWeb Solution Pvt Ltd 21.05.2018 12:10

это все еще пусто

Adokiye Iruene 21.05.2018 12:19

@AdokiyeIruene: ваш файл просмотра в папке настроек справа означает ваш путь, например yourproject/resources/views/settings/photos.blade.php

AddWeb Solution Pvt Ltd 21.05.2018 12:27

Да, у меня даже есть метод создания перед методом хранилища

Adokiye Iruene 21.05.2018 12:29

публичная функция 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]); }

Adokiye Iruene 21.05.2018 12:29

@AdokiyeIruene: Этот метод store() является методом публикации?

AddWeb Solution Pvt Ltd 21.05.2018 12:38

Да, метод хранения - это метод отправки

Adokiye Iruene 21.05.2018 12:39

@AdokiyeIruene: Пожалуйста, проверьте мой обновленный ответ, попробуйте с обновленным ответом и дайте мне знать, работает он для вас или нет

AddWeb Solution Pvt Ltd 21.05.2018 12:46

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

return redirect('folder.name', compact('variableName');
return redirect()->route('folder.name', [$image]);

он возвращается с пустой страницей

Adokiye Iruene 21.05.2018 12:01

Извините, попробуйте указать на маршрут return redirect () -> route ('/ images', [$ image]);

bgh 22.05.2018 15:04

вы можете попробовать с кодом ниже

        return view('settings/photos')->with(['image' =>  $image_]);

он возвращается с пустой страницей

Adokiye Iruene 21.05.2018 11:59

в строке выше я дал здесь адрес демонстрационной страницы. разместите адрес своей страницы вместо ('настройки / фото'). затем на этой странице проверьте с помощью <? php dd ($ image);?> вы можете получить все данные изображений

Sibasankar Bhoi 21.05.2018 12:02

Почему вы используете такую ​​переменную, как $ image_, вы можете использовать ее просто как $ image или $ whatEver

return view('folder.viewfile', compact('image'));

И теперь вы можете использовать эту переменную в файле просмотра как $ image.

Он возвращается с пустой страницей

Adokiye Iruene 21.05.2018 11:58

Привет, Адокие, лруене, я думаю, ваш запрос Image :: where ('property_id', $ id) -> sortBy ('description') -> get () не работает должным образом. Не могли бы вы показать мне, что он вернул?

Rajesh kumar 21.05.2018 12:41

Вы также можете отправить переменную, используя синтаксис ниже.

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')}}

Другие вопросы по теме