Rumah > Artikel > rangka kerja php > Bagaimana untuk menanyakan atribut tambahan jadual perantaraan dalam laravel
Dalam Laravel, jadual perantaraan biasanya digunakan untuk memproses perhubungan banyak-ke-banyak. Contohnya, blog boleh mempunyai berbilang tag dan tag boleh digunakan oleh berbilang blog. Perhubungan ini boleh dikendalikan menggunakan jadual perantaraan, yang menyimpan perhubungan yang sepadan antara setiap blog dan teg.
Walau bagaimanapun, dalam beberapa kes, jadual perantaraan mungkin perlu menyimpan data tambahan, seperti masa penciptaan perhubungan antara teg dan blog. Dalam kes ini, kita perlu menggunakan atribut tambahan jadual perantaraan untuk menyimpan data ini.
Menggunakan sifat tambahan jadual perantaraan boleh dicapai melalui "model jadual perantaraan" dalam Laravel. Kelas model ini digunakan untuk mengurus jadual perantaraan dan menyediakan banyak fungsi berguna, termasuk menanyakan sifat tambahan bagi jadual perantaraan.
Pertama, kita perlu mencipta kelas model jadual perantaraan. Kelas ini boleh dibuat menggunakan perintah Artisan:
php artisan make:model Taggable --pivot
Apabila menjalankan arahan ini, kita perlu memberikan nama jadual perantaraan, yang sepatutnya dinamakan "Table1_Table2" mengikut konvensyen Laravel.
Selepas mencipta model jadual perantaraan, kita boleh menentukan atribut tambahan jadual perantaraan dalam model yang berkaitan. Sebagai contoh, jika kita mempunyai model "blog" dan model "tag" dan mengaitkannya menggunakan jadual perantaraan, kita boleh mentakrifkan perkaitan seperti ini:
class Post extends Model { public function tags() { return $this->belongsToMany(Tag::class) ->using(Taggable::class) ->withPivot('created_at'); } }
Dalam contoh ini, kami menggunakan The menentukan model jadual perantaraan sebagai using()
dan menggunakan kaedah Taggable
untuk menentukan atribut tambahan jadual perantaraan. withPivot()
$tag = Tag::find(1); foreach ($tag->posts as $post) { $pivot = $post->pivot; $createdAt = $pivot->created_at; // do something with $createdAt }Dalam contoh ini, kita mula-mula mendapatkan model teg, dan kemudian lulus Ahli Gabungan model Lawati blognya. Untuk setiap blog, kita boleh mendapatkan contoh model jadual perantaraan dan menggunakan sifatnya untuk mengakses sifat tambahan jadual perantaraan. Ringkasnya, menggunakan sifat tambahan jadual perantaraan boleh memberikan lebih fleksibiliti dan fungsi apabila membangunkan perhubungan banyak-ke-banyak. Dengan menggunakan model jadual perantaraan dan menambah kaedah
semasa mentakrifkan perhubungan, kita boleh menanyakan sifat tambahan jadual perantaraan dan memanfaatkan sepenuhnya kuasa Laravel. withPivot()
Atas ialah kandungan terperinci Bagaimana untuk menanyakan atribut tambahan jadual perantaraan dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!