es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible devolver una vista (usando blade) con dos variables en Laravel?

Tengo que hacer una de estas páginas con un formulario que buscará una comida y su receta según el tipo de plato o tipo de cocina, etc…
Aquí está mi función para devolver la vista, pero hay un error en la línea que muestro en negrita a continuación:

public static function SearchPage()
{
    $DishType = DishType::getAllDishType();
    $CuisineType = CuisineType::getAllCuisineType()

    return view("vueRecipeSearch", [
        'DishType' => DishType::getAllDishType(),
        CuisineType::getAllCuisineType()
    ]);
}

Y aquí hay una parte de una vista donde me gustaría usar una variable:

<label for="DishType">Tipo de plato :</label>
<select id="DishType" name="DishType">
    @foreach($DishType as $Dish)
        <option value="Dessert">{{$Dish->dish}}</option>
    @endforeach
</select>

y me gustaría hacer lo mismo con el tipo de cocina pero no puedo porque no sé cómo devolver varias variables.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para devolver múltiples variables en la función, puedes modificar la declaración de retorno de la siguiente forma:

    return view("vueRecipeSearch", [
        'DishType' => $DishType,
        'CuisineType' => $CuisineType
    ]);
    

    Esto pasará las variables ‘DishType’ y ‘CuisineType’ a la vista ‘vueRecipeSearch’.

    Para usar la variable ‘CuisineType’ en la vista, puedes modificar el código HTML de la siguiente forma:

    <label for="CuisineType">Tipo de cocina:</label>
    <select id="CuisineType" name="CuisineType">
        @foreach($CuisineType as $cuisine)
            <option value="{{ $cuisine->cuisine }}">{{ $cuisine->cuisine }}</option>
        @endforeach
    </select>
    

    Esto recorrerá la variable ‘$CuisineType’ y mostrará cada tipo de cocina en el menú desplegable del formulario HTML.

Comments are closed.