Comment Passer l'Id dans Laravel Paramètre d'URL
Comment Passer $val->id
dans Laravel Paramètre d'URL. Je utiliser le Code Suivant. Son Retour D'Erreur
href="{{url('/dashboard/medicinepending/{{$val->id}}')}}"
OriginalL'auteur Matheshwaran | 2016-03-18
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
OriginalL'auteur vipul sorathiya
Essayez ceci:
Mais c'est une mauvaise idée d'utiliser des chemins relatifs, parce que si vous aurez envie de changer de schéma d'URL, vous devrez manuellement trouver des dizaines ou des centaines de liens dans vos vues et les contrôleurs et les modifier manuellement. Dans ce cas, vous aurez certainement oublier de changer certains d'entre eux et certaines pages de votre application sera brisé.
Une bonne pratique est d'utiliser les liens à la route:
Ou des liens vers d'action:
veuillez lire la partie de la réponse où j'explique pourquoi à l'aide de
url()
est une mauvaise idée.J'ai lu ce que vous avez dit, et ce que vous avez dit est faux lol. Itinéraire d'action et les utilisateurs de l'url :/
Je crois que vous avez manqué le point.
personne ne dit ici que
route
ne pas utiliserurl
ou quelque chose. Il n'est pas important, il vous manque le point ici. Je suis en train de dire que c'est une très mauvaise idée d'utiliser codé en dur et Url. En application réelle, quand vous allez modifier une URL, vous devrez modifier manuellement des dizaines ou des centainesurl()
clauses tous les dessus de votre application. C'est une terrible pratique à utiliser codé en dur les Url dans une application réelle. Je ne sais pas comment je peux vous l'expliquer.OriginalL'auteur Alexey Mezenin
Réponse Rapide
Comme expliqué précédemment à la manière de construire une URL à l'intérieur d'une lame de modèle vous pouvez utiliser le
url
helper; pour votre exemple, ce serait le travail:Meilleures Pratiques
Il n'est pas conseillé d'utiliser
url
,route
ou mêmeaction
lors de la construction d'une url pour votre point de vue. C'est parce que l'Url ne change pas, si ils ne vous doivent avoir des redirections 301 set-up pour votre SEO score reste valide et bon.Donc tout simplement faire quelque chose comme:
Mais si vous VRAIMENT souhaitez utiliser un wrapper puis
url
est la deuxième meilleure chose.Le seul but de ces aides sont pour les e-mails ou des commandes via
artisan
, quand on tire le cron ne sais pas à propos de l'URL seulement à ce qui est défini dans la config:app.url
Explication
La façon dont les Url sont construits avec laravel est en ajoutant de la chaîne de la valeur de
app.url
config; trouvé: à l'intérieur de config/app.phpC'est principalement pour les CLI, lorsque vous avez cron processus en cours d'exécution et de générer des e-mails à partir d'une file d'attente avec des liens, par conséquent, cela pourrait être utilisé au sein de votre application. Autrement, ne pas l'utiliser à tous les.
À l'aide de la
url
helper est bon parce que vous pouvez changer la valeur de laapp.url
config par votre propre Prestataire De Services. Ceci est très utile lorsque vous avez un site en plusieurs langues et/ou de charger un des sites de la langue basée sur le nom de domaine; exemple:Également mentionné comme vous pouvez construire des url à partir d'une route; ce n'est valable que si vous avez le nom de votre parcours qui n'est pas toujours le cas.
Cela permettra de trouver l'itinéraire par le nom route.nom et ensuite d'analyser ce point de terminaison à travers
app('url')
qui se trouve être le UrlGenerator - donc, ce n'est pas mieux que leurl
helper - ne pas sortir de votre chemin pour le nom de toutes les routes - qui est une mauvaise pratique.Une autre pratique, qui est également pas une bonne idée est d'utiliser
action
en fournissant la classe et de l'action pour trouver un itinéraire:C'est une mauvaise idée, sauf si
MyController
est en fait une interface PAS physique de la classe, que vous avez besoin d'Inversion de Contrôle pour s'injecter de la classe qui implémente MyController sinon votre demande ne sera pas conforme à la S. O. L. I. D Principeen utilisant
action()
vous spécifiez l'espace de nom complet de la manette, ce qui n'est pas une bonne idée lorsque vous êtes primordial/remplacement des contrôleurs via la DI. Pour un système interne qui a une portée, c'est bien beau tout ça en évitant les Cio, mais pour les projets open source et évolutive des systèmes de l'entreprise, ce n'est pas très bon du tout.Je suppose que c'est un bon argument pour l'utilisation de routes nommées.
route('vendor.target')
Je n'ai pas l'expérience de besoin très souvent, mais je ne pense URL changements ont été plus besoin de moi que contrôleur de remplacement. Il aurait été agréable a wordpress pas codé en dur /wp-admin/ route ou wp-login.php chemin d'accès. Il serait beaucoup plus facile de le déplacer pour éviter rote pentest spam. Je comprends ce que vous dites si et DI sont précieux. Merci pour l'aperçu.Je comprends et aussi assez d'accord, je pense que c'est en fin de compte un problème avec le modèle MVC et à l'aide de moteurs de template. Peut-être tit for tat, mais j'ai le code de saut en paquets (idéalement cadre agnostique) et puis générique de l'INTERFACE utilisateur à être mis en œuvre par l'Application - ce qui signifie la possibilité de remplacer les contrôleurs (qui ont tendance à être 3 lignes max, en utilisant les services et dépôts), parfois en lieu et place des itinéraires entièrement et parfois juste un contrôleur de l'action - c'est plus facile en se référant à une url que j'ai trouver.
OriginalL'auteur ash
En passant,je suis aussi d'accord avec @Alexey Mezenin, vous devriez préférer la route() fonction d'assistance au lieu d'utiliser l'url(), route() vous donnera plus de flexibilité pour passer nombre de paramètres long-avec l'URL principale.
De toute façon, vous ne devriez pas utiliser de lame code de la syntaxe{{}}) est de nouveau à l'intérieur d'un autre couple de crochets et une chose de plus, essayez d'éviter de début et de fin réduit dans la première partie de l'url comme ci-dessous.
Vous devez mettre à jour votre code par la suivante, ce sera, nous l'espérons travail.
href="{{ url('tableau de bord/medicinepending'.$val->id )}}"
OU
href="{{ url('tableau de bord/medicinepending',$val->id )}}"
url
,route
etaction
TOUS obtenir analysée à traversapp('url')
qui retourne une instance deUrlGenerator
, cela permet à de multiples paramètres sans le besoin de s'échapper.de la cendre, j'ai répondu à cette question au début en bref juste pour sa compréhension, Il est préférable que vous ont expliqué en détail. Espérons @Matheshwaran pouvez comprendre mon point de vue facilement.
OriginalL'auteur Naeem Mushtaq
Ce travail pour moi:
OriginalL'auteur rome 웃