Merhaba,
4 adet tablom var.
1- products
2- skus
3- options
4- option_values
Bir adet ürün ekliyorum buna bağlı olarak örneğin 4 adet stok ekliyorum.
skus_table için;
| product_id | option_id | option_value_id | barcode |
---------1-------------10----------------38-------------123
---------1-------------10----------------39-------------456
---------1-------------7------------------40-------------789
Bu şekilde skus table içerisine ekliyorum ve daha sonra model içerisinde ilişki kuruyorum.
SkuModel.php
public function product()
{
return $this->belongsTo(Product::class);
}
public function options()
{
return $this->belongsToMany(Option::class, Sku::class, 'id', 'option_id');
}
Daha sonra controllerdan ilişkili bir şekilde çağırıyorum. Örneğin;
$sku = Sku::with('product', 'options')->where(['uuid' => $uuid, 'color_id' => $colorId])->first();
Renge göre grupladığım için renk ID koşulum var.
Ama dönen collection'da sadece bir tane option var. Halbuki iki adet olması lazım çünkü 10 ve 7 id'li öğeler ekledim.
#relations: array:2 [▼
"product" => Modules\Product\Entities\Product {#1591 ▶}
"options" => Illuminate\Database\Eloquent\Collection {#1590 ▶}
]
Bu ilişkiyi nasıl düzgün bir şekilde kurabilirim ?