Laravel: Bekerja dengan Hubungan yang Fasih

Laravel membuat komunikasi dengan database lebih mudah dengan Eloquent. Saat bekerja dengan Eloquent Relationships, saat memanggil variabel dinamis (menggunakan metode ajaib PHP), Anda harus menyadari bahwa instance model tidak mencerminkan perubahan baru, melainkan menyimpannya dalam cache secara permanen saat pertama kali dipanggil.


Dalam contoh berikut ini berperilaku seperti yang diharapkan:

6d32588c32f080ef1896633f261e1e14

$ model-> col selalu mengembalikan nilai lama bahkan setelah perubahan (karena nilai awalnya diambil satu kali dengan Model :: find (42) dan kemudian disimpan). Jika Anda sekarang mengalamatkan tabel lain yang terhubung dengan $ model-> dependent_table , Anda dapat mengharapkan bahwa panggilan keduanya akan mengembalikan nilai baru:

6d32588c32f080ef1896633f261e1e14

Ini juga tidak terjadi ( $ dependant_table = $ model-> dependant_table menyimpan cache seluruh tabel dependen). Untuk mendapatkan nilai saat ini, fungsi dependant_table () yang didefinisikan secara eksplisit dipanggil:

6d32588c32f080ef1896633f261e1e14

Kembali