Untuk menyederhanakan sintaks, pikirkan return $this->hasMany('App\Comment', 'foreign_key', 'local_key');
parameter sebagai:
- Model yang ingin Anda tautkan
- Kolom tabel asing (tabel yang Anda tautkan) yang menautkan kembali ke
id
kolom tabel saat ini (kecuali jika Anda menentukan parameter ketiga, dalam hal ini ia akan menggunakannya) - Kolom dari tabel saat ini yang harus digunakan - yaitu jika Anda tidak ingin kunci asing dari tabel lain ditautkan ke
id
kolom tabel saat ini
Dalam keadaan Anda, karena Anda telah menggunakan store_id
di libraries
meja, Anda telah membuat hidup Anda mudah. Di bawah ini akan berfungsi dengan baik ketika didefinisikan di Store
Anda model:
public function libraries()
{
return $this->hasMany('App\Library');
}
Di balik layar, Laravel akan secara otomatis menautkan id
kolom Store
tabel ke store_id
kolom Library
tabel.
Jika Anda ingin mendefinisikannya secara eksplisit, Anda akan melakukannya seperti ini:
public function libraries(){
return $this->hasMany('App\Library', 'store_id','id');
}
- Sebuah standar model adalah bahwa fungsi dengan nama tunggal mengembalikan milik, sedangkan fungsi jamak mengembalikan hasMany (mis.
$store->libraries() or $library->store()
).