Laravel でコントローラーからビューにデータを渡す
Laravel 開発の領域では、コントローラーからデータを転送する必要がある場合があります。レンダリング用のビューに。このシナリオは、アプリケーションのフロントエンドでデータベースからの情報を表示したい場合に発生します。
このデータ転送を実現する 1 つの方法が、指定されたコード スニペットで示されています。ProfileController には showstudents 関数が含まれています。この関数内では、Eloquent ORM を使用して、$students 変数に「student」テーブルのすべてのレコードが設定されます。その後、View::make を使用して「user/regprofile」という名前のビューが生成され、$students 変数が with() メソッドを使用して渡されます。
ただし、「未定義の変数:students」というエラーが表示されます。 「regprofile.blade.php」ビュー内でこの変数にアクセスしようとすると、この変数が表示される可能性があります。このエラーの原因は、コントローラからビューに変数を渡すために使用された間違ったメソッドにあります。
この問題を修正するには、次のいずれかのアプローチの使用を検討してください:
<code class="php">return View::make("user/regprofile", compact('students'));</code>
<code class="php">return View::make("user/regprofile")->with(array('students' => $students));</code>
さらに、複数の変数を同時に渡す必要がある場合は、以下に示すように変数名の配列を指定して Compact() を使用できます。
<code class="php">$instructors = ""; $institutions = ""; $compactData = array('students', 'instructors', 'institutions'); return View::make("user/regprofile", compact($compactData));</code>
または、名前と値のペアの配列を指定して with() メソッドを利用することもできます。
<code class="php">$data = array('students' => $students, 'instructors' => $instructors, 'institutions' => $institutions); return View::make("user/regprofile")->with($data);</code>
以上がLaravelコントローラーからビューにデータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。