Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menghantar Data dari Pengawal Laravel ke Paparan?

Bagaimana untuk Menghantar Data dari Pengawal Laravel ke Paparan?

Barbara Streisand
Barbara Streisandasal
2024-10-30 16:51:02737semak imbas

How to Pass Data from a Laravel Controller to a View?

Mengirim Data daripada Pengawal ke Lihat dalam Laravel

Dalam bidang pembangunan Laravel, seseorang mungkin menghadapi keperluan untuk memindahkan data daripada pengawal kepada pandangan untuk rendering. Senario ini timbul apabila anda ingin memaparkan maklumat daripada pangkalan data dalam bahagian hadapan aplikasi anda.

Satu kaedah untuk mencapai pemindahan data ini ditunjukkan dalam coretan kod yang diberikan, di mana ProfileController mengandungi fungsi showstudents. Dalam fungsi ini, pembolehubah $students diisi dengan semua rekod daripada jadual 'pelajar' menggunakan ORM Eloquent. Selepas itu, View::make digunakan untuk menjana paparan bernama "user/regprofile" dan pembolehubah $students dihantar bersama menggunakan kaedah with().

Walau bagaimanapun, ralat menyatakan "Undefined variable: students" mungkin muncul apabila cuba mengakses pembolehubah ini dalam paparan "regprofile.blade.php". Sumber ralat ini terletak pada kaedah yang salah yang digunakan untuk menghantar pembolehubah daripada pengawal ke paparan.

Untuk membetulkan isu ini, pertimbangkan untuk menggunakan salah satu pendekatan berikut:

  • fungsi padat(): Menggunakan fungsi compact() dalam pernyataan pulangan membolehkan anda menghantar tatasusunan nama pembolehubah, memastikan pembolehubah disediakan untuk paparan. Dalam kes ini, kod yang diperbetulkan ialah:
<code class="php">return View::make("user/regprofile", compact('students'));</code>
  • kaedah with(): Sebagai alternatif, anda boleh menggunakan kaedah with() untuk menentukan secara langsung pasangan nama-nilai untuk dihantar ke paparan. Berikut ialah contoh:
<code class="php">return View::make("user/regprofile")->with(array('students' => $students));</code>

Selain itu, jika anda perlu melepasi berbilang pembolehubah secara serentak, anda boleh sama ada menggunakan compact() dengan tatasusunan nama pembolehubah seperti yang ditunjukkan di bawah:

<code class="php">$instructors = "";
$institutions = "";

$compactData = array('students', 'instructors', 'institutions');
return View::make("user/regprofile", compact($compactData));</code>

Atau, anda boleh menggunakan kaedah with() dengan tatasusunan pasangan nilai nama:

<code class="php">$data = array('students' => $students, 'instructors' => $instructors, 'institutions' => $institutions);
return View::make("user/regprofile")->with($data);</code>

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data dari Pengawal Laravel ke Paparan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn