2010-08-03 71 views
1

這一定是簡單的,但我似乎無法在網上找到了答案,也沒有弄明白通過試驗和錯誤。訪問多到很多場學說

我有一個類甲板和一個類它們之間有多對多的關係。我相當有信心,我加入卡正確甲板(它們被正確地寫入到數據庫,接線表和所有),但是當我嘗試通過訪問甲板的卡:

$Deck->Cards 

,它似乎沒有返回任何東西。相關架構(在YAML中)位於:

**from Card model** 
    relations: 
     Decks: 
      class: Deck 
      foreignAlias: Cards 
      refClass: DeckCard 
      local: card_id 
      foreign: deck_id 

    **from Deck model** 
    relations: 
     Cards: 
      class: Card 
      foreignAlias: Decks 
      refClass: DeckCard 
      local: deck_id 
      foreign: card_id 

    DeckCard: 
     columns: 
     deck_id: 
      type: integer 
      primary: true 
     card_id: 
      type: integer 
      primary: true 

非常感謝。我確信這很容易,我可以忽略一些簡單的事情。

+0

這個教義1 :( – 2014-09-05 08:27:23

回答

1

你是如何獲取的$Deck? YAML看起來很好。

該文檔給出很好的例子:就拿這個schema。當檢索時,你會得到一個對象集合。該provided sample query:。

//User-Group from a m:n relation through UserGroup Model 
$q = Doctrine_Query::create() 
    ->from('User u') 
    ->leftJoin('u.Groups g'); 

$users = $q->fetchArray(); 

foreach ($users[0]['Groups'] as $group) { 
    echo $group['name']; 
} 
+0

非常感謝 - 就像一個魅力 – Justin 2010-08-03 18:01:59

+0

事實上,我遇到了另一個問題,這滋潤成果轉化爲數組,但我想集團當我嘗試使用execute()或fetchOne()而不是fetchArray()時,我得到一個內存溢出錯誤,任何想法都是這樣的:謝謝 – Justin 2010-08-03 21:29:21

+0

Nevermind,我明白了,當你編寫函數getField ()內的型號。改變了函數的名稱,現在事情都工作正常。 – Justin 2010-08-03 21:49:25