2011-03-30 69 views
0

我的問題如下。我有以下型號:Recipe and Ingredient。我想在HasAndBelongsToMany關係中定義這兩個關係,但併發症來自以下方面:我希望食譜能夠擁有每種成分的數量。量和單位:Cakephp/SQL如何定義hasandbelongstomany關係的數量?

數量將由兩個字段定義。因此,在抽象的層面這裏是什麼,我想看到一個例子/能夠查詢:

Apple Pie: 
    Ingredients: 
     1 pound of apples 
     2 tablespoons of sugar 

Orange Juice: 
    Ingredients: 
     1 cup of water 
     0.5 tablespoons of sugar 
     5 gobbles of googber 

而且我也希望能夠查詢的成分,並使其返回其配方是把它捆起來:

含糖

食譜:蘋果餡餅和橘子含有googber果汁 食譜:橙汁

我知道這是嚴格說來SQL模式的問題,但由於我在執行中的CakePHP的網站,我寧願當答案引用了cakephp使用的Model/Controller/View範例以及內置的CakePHP p方法。

(正是這樣它會更容易對我來說,你的解決方案轉換成我的代碼。我不喜歡CakePHP的文檔中挖掘,他們的搜索功能是非常錯誤)

回答

1

http://book.cakephp.org/view/1650/hasMany-through-The-Join-Model

如果你是不是,在嘗試解析數據陣列時,應始終使用debug()。你可以在你的視圖,控制器,模型等中使用調試,這非常有用。

沒有看到你的數據陣列結構,我想先說嘗試訪問從用戶模型找到像:

$這個 - > Model_1-> Model_2-> Model_3->找到(「所有」);或者您可以將遞歸級別設置爲2,並查看返回的數據量以及數組中的所有關係。但是,使用debug(),以查明是否需要修改你的模型關係等。

+0

真棒,但是當我做了查找,也不會自動加入一個三級表。配料量屬於配方和配料,配方屬於用戶。因此,當我查詢IngredientQuantity時,我現在可以獲取有關食譜和配料的信息,但它不會讓我也詢問用戶的字段。除了手動加入外,我該怎麼做? – 2011-03-30 06:47:24

相關問題