Maison > Article > développement back-end > Comment transmettre des données d’un contrôleur Laravel à une vue ?
Transmission de données du contrôleur à la vue dans Laravel
Dans le domaine du développement Laravel, on peut rencontrer le besoin de transférer des données depuis un contrôleur à une vue pour le rendu. Ce scénario se produit lorsque vous souhaitez afficher des informations d'une base de données dans l'interface de votre application.
Une méthode pour réaliser ce transfert de données est démontrée dans l'extrait de code donné, où un ProfileController contient une fonction showstudents. Dans cette fonction, la variable $students est renseignée avec tous les enregistrements de la table « student » à l'aide de l'ORM Eloquent. Par la suite, View::make est utilisé pour générer une vue nommée "user/regprofile" et la variable $students est transmise à l'aide de la méthode with().
Cependant, une erreur indiquant "Variable non définie : étudiants" peut apparaître lors de la tentative d'accès à cette variable dans la vue "regprofile.blade.php". La source de cette erreur réside dans la méthode incorrecte utilisée pour transmettre la variable du contrôleur à la vue.
Pour remédier à ce problème, envisagez d'utiliser l'une des approches suivantes :
<code class="php">return View::make("user/regprofile", compact('students'));</code>
<code class="php">return View::make("user/regprofile")->with(array('students' => $students));</code>
De plus, si vous devez transmettre plusieurs variables simultanément, vous pouvez soit utiliser compact() avec un tableau de noms de variables comme indiqué ci-dessous :
<code class="php">$instructors = ""; $institutions = ""; $compactData = array('students', 'instructors', 'institutions'); return View::make("user/regprofile", compact($compactData));</code>
Ou, vous pouvez utiliser la méthode with() avec un tableau de paires nom-valeur :
<code class="php">$data = array('students' => $students, 'instructors' => $instructors, 'institutions' => $institutions); return View::make("user/regprofile")->with($data);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!