Una forma d'obtenir la URL cap a una ruta que depèn d'un model concret i una instància del model concreta
Hi ha una interficie nova Illuminate\Contracts\Routing\UrlRoutable que es pot utilitzar en models Eloquent. Vegem un exemple del típic model Laravel:
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Post extends Model { // }
Abans per obtenir una ruta a aquest element:
// We have to pass the model's ID. URL::route('posts.show', $post->id);
A posteriori potser que ja no vulguem utilitzar l'idea sinó per exemple un slug:
URL::route('posts.show', $post->slug);
Però amb la nova funcionalitat podem simplement posar:
// Works just the same as before. URL::route('posts.show', $post);
I simplement s'obtindrà el identificador del mètode getRouteKeyName:
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Post extends Model { /** * Get the route key for the model * * @return string */ public function getRouteKeyName() { return 'slug'; } }