Laravel: Bekerja dengan Hubungan Eloken

Laravel menjadikan komunikasi dengan pangkalan data menjadi lebih mudah dengan Eloquent. Semasa bekerja dengan Hubungan Eloquent , ketika memanggil pemboleh ubah dinamik (dengan bantuan kaedah sihir PHP), anda harus sedar bahawa contoh model tidak mencerminkan perubahan baru, tetapi dicache secara kekal ketika pertama kali memanggilnya.


Dalam contoh berikut ini berkelakuan seperti yang diharapkan:

6d32588c32f080ef1896633f261e1e14

$ model-> col selalu mengembalikan nilai lama walaupun selepas perubahan (kerana nilainya pada awalnya diambil sekali dengan Model :: find (42) dan kemudian disimpan). Sekiranya sekarang anda menumpukan jadual lain yang dihubungkan dengan $ model-> depend_table , anda boleh menjangkakan bahawa panggilan kedua akan mengembalikan nilai baru:

6d32588c32f080ef1896633f261e1e14

Ini juga tidak berlaku ( $ depend_table = $ model-> dependant_table menyimpan keseluruhan jadual bergantung). Untuk mendapatkan nilai semasa, fungsi dependant_table () yang ditentukan secara eksplisit dipanggil:

6d32588c32f080ef1896633f261e1e14

Belakang