Artikel ini adalah daripada lajur tutorial Laravel untuk memperkenalkan anda kepada pengetahuan yang berkaitan tentang laravel. Ia terutamanya menganalisis perbezaan antara HasOne dan BelongsTo dalam Laravel. Saya harap ia dapat membantu rakan-rakan yang memerlukan !
hasOne
dan belongsTo
ialah kaedah perhubungan yang digunakan dalam Laravel
untuk mentakrifkan perhubungan satu dengan satu.
hasOne
menunjukkan bahawa model semasa mempunyai model yang berkaitan. Ini bermakna jika anda mempunyai model pengguna dan model profil, dan hanya satu profil bagi setiap pengguna, anda boleh menggunakan kaedah hasOne
dalam model pengguna untuk menentukan perhubungan ini.
belongsTo
menunjukkan bahawa model semasa adalah milik model yang berkaitan. Ini bermakna jika anda mempunyai model profil dan model pengguna, dan setiap profil adalah milik pengguna, anda boleh menggunakan kaedah belongsTo
dalam model profil untuk menentukan perhubungan ini.
Kedua-dua kaedah ini digunakan dengan cara yang serupa, tetapi maksudnya adalah bertentangan.
Anda perlu memutuskan kaedah mana yang hendak digunakan berdasarkan situasi sebenar.
Sebagai contoh, jika anda ingin mentakrifkan perhubungan satu dengan satu dalam model pengguna, anda boleh menggunakan kod berikut:
class User extends Model{ public function profile() { return $this->hasOne(Profile::class); }}
Jika anda ingin mentakrifkan satu- perhubungan dengan satu dalam model data, anda boleh menggunakan Kod berikut:
class Profile extends Model{ public function user() { return $this->belongsTo(User::class); }}
Dalam kedua-dua kes, anda boleh menggunakan perhubungan Eloquent
untuk pertanyaan data berkaitan.
hasOne
dan belongsTo
ialah kedua-dua kaedah perhubungan dalam Laravel Eloquent ORM
digunakan untuk mentakrifkan perhubungan satu dengan satu Kedua-duanya adalah abstraksi berdasarkan perhubungan Eloquent
.
Dari segi pelaksanaan asas, tidak banyak perbezaan antara hasOne
dan belongsTo
. Kesemuanya mewujudkan perhubungan dengan mentakrifkan kunci asing bagi model yang berkaitan dan kunci utama model semasa.
Dari perspektif pelaksanaan peringkat rendah, hasOne
dan belongsTo
adalah serupa. Perbezaan mereka terutamanya ditunjukkan dalam arah hubungan yang mereka wakili. hasOne
bermaksud model semasa mempunyai model yang berkaitan dan belongsTo
bermaksud model semasa adalah milik model yang berkaitan.
Pembelajaran yang disyorkan: "tutorial video laravel"
Atas ialah kandungan terperinci Analisis apakah perbezaan antara HasOne dan BelongsTo dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!