Laravel ialah rangka kerja PHP yang digunakan secara meluas yang menyediakan seni bina yang baik dan banyak ciri berguna. Walaupun Laravel sudah kaya dengan ciri, masih terdapat banyak ciri kebolehaksesan yang perlu diselesaikan oleh pembangun secara manual. Salah satunya ialah mengosongkan cache apabila menggunakan kaedah attach
. Dalam artikel berikut, kami akan menerangkan cara mengosongkan cache dan meningkatkan prestasi aplikasi anda.
Dalam Laravel, apabila kita menggunakan kaedah attach
untuk mencipta data banyak-ke-banyak, Laravel akan menyimpan rekod ini ke jadual perantaraan (jadual pangsi). Jadual perantaraan ini akan dikosongkan secara automatik apabila menggunakan kaedah detach
untuk mengosongkan rekod daripada jadual yang berkaitan. Walau bagaimanapun, apabila kami menggunakan kaedah attach
untuk mencipta sejumlah besar rekod, Laravel tidak akan mengosongkan cache jadual perantaraan secara automatik, yang akan menyebabkan aplikasi menjadi perlahan dan mungkin kelihatan kembung.
Untuk menyelesaikan masalah ini, kita perlu mengosongkan cache jadual perantaraan secara manual. Laravel menyediakan kaedah sync
, yang akan mengosongkan cache secara automatik dalam jadual perantaraan apabila kami menggunakan kaedah ini. Walau bagaimanapun, jika kita hanya perlu membersihkan cache jadual perantaraan, kita tidak seharusnya menggunakan kaedah ini, kerana ia akan menulis semula semua data hubungan ke jadual perantaraan, yang terlalu mahal.
Oleh itu, kita boleh menggunakan kaedah lain updateExistingPivot
yang disediakan oleh Laravel untuk mengosongkan cache jadual perantaraan. Kaedah ini secara langsung akan mengubah suai jadual perantaraan berdasarkan nilai ID yang disediakan tanpa menulis semula semua data berkaitan.
Berikut ialah contoh kod untuk mengosongkan cache jadual perantaraan menggunakan kaedah updateExistingPivot
:
$author = Author::find($id); $author->books()->attach([ $book1->id => ['published' => true], $book2->id => ['published' => false], ]); // 清除缓存 $author->books()->updateExistingPivot($book2->id, ['published' => true]);
Dalam kod di atas, kami mula-mula menambah dua buku kepada pengarang melalui attach
kaedah , menambah atribut tambahan published
pada buku pertama. Kami kemudian mengosongkan cache buku kedua melalui kaedah updateExistingPivot
dan menetapkan atribut published
nya kepada true
. Dengan pendekatan ini, kami boleh mengosongkan cache jadual perantaraan dengan mudah tanpa perlu menulis semula semua data yang berkaitan.
Ringkasnya, mengosongkan cache jadual perantaraan ialah salah satu langkah penting untuk mengoptimumkan prestasi aplikasi Laravel anda. Dengan menggunakan kaedah updateExistingPivot
, kami boleh menyelesaikan tugas ini dengan mudah dan mengelakkan pembaziran sumber yang tidak perlu. Dalam aplikasi sebenar, kita harus membersihkan cache jadual perantaraan dengan kerap seperti yang diperlukan untuk meningkatkan prestasi dan kestabilan aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk mengosongkan cache dalam laravel attach. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!