PHP条令阵列问题
我对中的toArray()方法有问题。这不符合我的关系: 第一个问题:PHP条令阵列问题,php,orm,doctrine,Php,Orm,Doctrine,我对中的toArray()方法有问题。这不符合我的关系: 第一个问题: $q = Doctrine::getTable('posts')->find(1); debug($q->toArray(true)); 打印posted=1,不带关系 $q = Doctrine::getTable('posts')->find(1); $q->Tags->toArray(); debug($q->toArray(true)); …使用标记关系打印结果 但我想做: D
$q = Doctrine::getTable('posts')->find(1);
debug($q->toArray(true));
打印posted=1,不带关系
$q = Doctrine::getTable('posts')->find(1);
$q->Tags->toArray();
debug($q->toArray(true));
…使用标记关系打印结果
但我想做:
Doctrine::getTable('posts')->findAll()->toArray(true);
…并获取所有帖子的关系,相反,我得到了一个帖子行数组
你知道如何使它与关系有效吗
(注意,我为deep属性添加了array(true)
感谢您提供的帮助,我相信您需要对查询进行连接。否则,它不会生成已实现的数据
$q = Doctrine_Query::create()
->from('Post p')
->leftJoin('p.RelatedModel1 rm1')
->leftJoin('p.RelatedModel2 rm2');
$q->findAll()->toArray(true);
您可以创建此表的命名查询,并附加所有关系:
Doctrine::getTable('posts')->addNamedQuery('get.by.id.with.relations', 'DQL here...');
然后用这样的方法:
Doctrine::getTable('posts')->find('get.by.id.with.relations', array(123));
我可以添加->限制()->偏移量()吗
问什么
我说,如果我首先创建查询,那么findAll的行为将与execute相同,对吗?您应该能够添加对查询有效的任何内容。是的,它们只是实现基本相同内容的不同方法。如果您愿意,您甚至可以使用table类,我认为可以执行类似于
原则::getTable('posts')的操作->getQuery('p')->leftJoin('p.RelatedModel1 rm1')->leftJoin('p.RelatedModel2 rm2')->findAll()->toArray(true);
$q = Doctrine_Query::create()
->from('Post p')
->leftJoin('p.RelatedModel1 rm1')
->leftJoin('p.RelatedModel2 rm2');
$q->findAll()->toArray(true);