Transmission des données du contrôleur à la vue dans Laravel
Lorsque vous travaillez avec Laravel, il est crucial de comprendre comment transmettre efficacement les données du contrôleur à la vue à afficher. Cela vous permet de récupérer des données à partir d'une base de données ou d'autres sources et de les rendre disponibles dans vos vues.
Problème :
En tant que nouvel utilisateur de Laravel, vous êtes essayer de stocker les enregistrements de la table « étudiant » dans une variable et de les transmettre à une vue pour afficher les données. Cependant, vous rencontrez le message d'erreur « Variable non définie : étudiants (View:regprofile.blade.php). »
Fonction du contrôleur :
<code class="php">public function showstudents() { $students = DB::table('student')->get(); return View::make("user/regprofile")->with('students',$students); }</code>
Voir le code :
<code class="html"><body> Hi {{ Auth::user()->fullname }} @foreach ($students as $student) {{ $student->name }} @endforeach @stop </body></code>
Solution :
Le message d'erreur suggère que la variable 'étudiants' n'est pas définie dans la vue. Pour résoudre ce problème, vous pouvez utiliser la méthode correcte pour transmettre la variable du contrôleur à la vue.
Code corrigé :
<code class="php">return View::make("user/regprofile", compact('students')); //OR return View::make("user/regprofile")->with(array('students' => $students));</code>
Explication :
La méthode 'compact' crée un tableau compact qui inclut toutes les variables données. Alternativement, la méthode « with » vous permet de transmettre un tableau de variables à la vue, où les clés correspondent aux noms de variables.
Passer plusieurs variables :
Lorsque vous devez transmettre plusieurs variables à votre vue, vous pouvez utiliser l'une des méthodes mentionnées ci-dessus. Par exemple, si vous aviez une autre variable appelée « instructeurs », vous pouvez effectuer ce qui suit :
<code class="php">// Using compact $compactData = array('students', 'instructors'); return View::make("user/regprofile", compact($compactData)); // Using with $data = array('students' => $students, 'instructors' => $instructors); return View::make("user/regprofile")->with($data);</code>
En utilisant ces techniques, vous pouvez transmettre efficacement les données de votre contrôleur à la vue et rationaliser votre processus de développement.
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!