繁体   English   中英

访问学说中的多对多字段

[英]Accessing Many-to-Many Field in Doctrine

这必须很简单,但是我似乎无法在线找到答案,也无法通过反复试验找出答案。

我有一个类甲板和类 ,有许多相互一对多的关系。 我相当有信心我可以正确地将Cards添加到Decks(将它们正确地写入数据库,联结表和所有文件中),但是当我尝试使用以下方法访问Deck的卡片时:

$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

非常感谢。 我确定这很容易,并且我忽略了一些简单的事情。

您如何检索$Deck YAML似乎很好。

该文档提供了很好的示例:采用这种模式 检索时,您将获得对象的集合。 提供的示例查询

//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'];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM