Hasone ise sadece bir kayıt almana izin veriyor bire bir ilişki yani mustafa abi gelince derinlemesine yazmış olur zaten hatta daha önce yazdiysa forumdan bakarim senin için eklerim @mgsmus Cevabı
HasOne, HasMany ve BelongsTo bu zaten, anlatacak başka bir şey yok. BelongsToMany ise birden fazla modelin bir ya da birden fazla model ile ilişki kurabilmesi için kullanılır. HasOne, HasMany ve BelongsTo ilişkilerinde foreign key modelin tablosunda olduğu için bu mümkün değildir. Örneğin bir ürün birden fazla kategori içerisinde yer alabilir. Bu ilişkiyi tutmak için 3. bir tablo gerekir. Bu tabloya pivot tablo denir.
products
+----+------------------+
| id | name |
+----+------------------+
| 1 | Bilgisayar Ürünü |
+----+------------------+
categories
+----+---------------------+
| id | name |
+----+---------------------+
| 1 | Bilgisayar |
| 2 | Masaüstü Bilgisayar |
| 3 | Oyuncu Bilgisayarı |
+----+---------------------+
category_has_products
+-------------+------------+
| category_id | product_id |
+-------------+------------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
+-------------+------------+
id'si 1 olan Bilgisayar Ürünü category_has_products pivot tablosuna göre üç kategori altında da yer alıyor. Ben Bilgisayar, Masaüstü Bilgisayar ya da Oyuncu Bilgisayarı altındaki ürünleri listele dediğimde Bilgisayar Ürünü üç listede de karşıma çıkacak. Bu ilişki ise şöyle kurulur:
app/Models/Category.php:
/**
* @return Illuminate\Database\Eloquent\Relations\BelongsToMany|App\Models\Product[]
*/
public function products(): BelongsToMany
{
return $this->belongsToMany(Product::class, 'category_has_products', 'category_id', 'product_id')
}
Bilmeniz gerekenlerin büyük bölümü dokümanlarda yazmakta. İsteyen bir arkadaş varsa dokümanda yazanları burada anlatabilir:
https://laravel.com/docs/8.x/eloquent-relationships
Cevap Tarihi 2020