Dalam Laravel, apabila bekerja dengan model Eloquent, mungkin perlu untuk menentukan sama ada model tertentu mempunyai model berkaitan. Biasanya, model berkaitan dikaitkan melalui hubungan Has-One atau One-to-Many.
Pertimbangkan senario di mana anda mempunyai model RepairItem dengan model RepairOption berkaitan pilihan, seperti yang ditakrifkan dalam coretan kod yang disediakan. Jika pilihan wujud untuk item pembaikan, anda perlu melakukan tindakan yang berbeza semasa kemas kini model. Untuk melakukan ini dengan berkesan, anda mesti menentukan sama ada model berkaitan sudah wujud.
Dalam PHP 7.2 dan lebih baharu, anda boleh menyemak terus sama ada model berkaitan wujud menggunakan perhubungan ()->wujud() kaedah. Kaedah ini mengembalikan nilai boolean:
if ($model->option()->exists()) { // Option exists }
Jika versi PHP anda di bawah 7.2, anda boleh bergantung pada fakta yang berkaitan model yang tidak wujud dinilai kepada palsu dalam konteks boolean. Ini membolehkan anda menggunakan pendekatan berikut:
if ($model->option) { // Option exists }
Perhatikan bahawa pendekatan ini mungkin tidak berfungsi secara konsisten untuk semua jenis perhubungan. Contohnya, perhubungan hasMany dan belongsToMany sentiasa mengembalikan perhubungan, walaupun tiada model yang berkaitan. Dalam kes sedemikian, anda harus menyemak kiraan model yang berkaitan:
if ($model->options->count() > 0) { // Option(s) exist }
Dengan menggunakan teknik ini, anda boleh mengesan kewujudan model berkaitan dengan berkesan dalam Laravel, membolehkan anda mengendalikan senario yang berbeza dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Jika Model Berkaitan Wujud dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!