Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:frameworks:laravel:inyeccion_implicita_de_modelos

Inyección implícita de modelos en Laravel

Laravel

La inyección implícita de modelos quiere decir que el controlador puede resolver automáticamente la instancia de un modelo dado a partir de los parámetros.

En el fichero de rutas web (routes/web.php) tenemos rutas de este estilo:

Route::get("products/{product}", "ProductController@show)->name("products.show");

app/Http/Controllers/ProductController.php:

Aquellos métodos que reciben como parámetro la identificación del producto, le inyectaremos el modelo de Product. Por ejemplo:

public function show(Product $product) {
 
    // Esto ya no sería necesario:
    // $product = Product::findOrFail($product);
 
    return view("products.show")->with(["product" => $product]);
}

Al indicar por parámetro el modelo (Product), Laravel se va a encargar de encontrar el producto con el ID $product.

informatica/programacion/php/frameworks/laravel/inyeccion_implicita_de_modelos.txt · Última modificación: por tempwin