Yemek tarifleri ve malzemelerle ilgili bir yazı hazırladım ancak yayınım yeterince açık değildi, bu yüzden bu konuda daha net olmaya çalışıyorum.CakePHP 3/MySQL ile yemek tariflerini ve malzemeyi kullanın
PRODUCTS (id, code, name)
RECIPES (product_id, ingredient_id, qty)
product_id ve ingredient_id masa ÜRÜNLERİ her iki id en şunlardır:
İki SQL tablo var. Bir "nihai" ürün, alt ürünlerle birleştirilebilir.
Bir görünümde, ağaç görünümünde bir tarif yapmak için gereken tüm tarifleri görüntülemek istiyorum.
Product A - 10
--> Product A1 - 50 (5*10)
--> Product A2 - 90 (9*10)
------> Product A21 - 180 (2*(9*10))
------> Product A22 - 270 (3*(9*10))
--> Product A3 - 110 (11*10)
:
PRODUCTS (id is auto_increment)
code | name |
________|________________|
A | Product A |
A1 | Product A1 |
A2 | Product A2 |
A21 | Product A21 |
A22 | Product A22 |
A3 | Product A3 |
RECIPES
product_id | ingredient_id | qty |
_____________|_______________|_____|
A | A1 | 5 |
A | A2 | 9 |
A | A3 | 11 |
A2 | A21 | 2 |
A2 | A22 | 3 |
Örneğin, ben bu görüntüler istiyorum, 10 Ürünler A yapmak:
Ben bir örnek yapacak, bunun için, biz böyle bir veritabanı özü olabilir Sadece bir bileşen listesi (A1, A2, A3) görüntüleyebilirim ancak ürün A2 için A21 ve A22 gibi tüm alt tarifleri görüntüleyemiyorum.
$ingredients[] = [$codeProduct=> $this->Recipes->getListOfIngredients($codeProduct)];
getListOfIngredients işlevi: o kod ile
public function getListOfIngredients($code = null){
if ($code <> null){
$ingredients = $recipes->find('all', ['conditions' => ['Recipes.product_id = ' => $code]]);
return $ingredients->toArray();
}
}
, $ingredients[]
bir ürün için tüm malzemeleri içerir, ancak nasıl tüm alt ekleyebilir
benim denetleyicisi yapıyorum -çörek mi?
Yardımlarınız için teşekkür ederiz.
Bize biraz kod göstermeliydiniz ya da bu soru downvotes ve kapalı olacak – RiggsFolly
@RiggsFolly Mesajımı düzenledim. – BlackAlpha