Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP条令阵列问题_Php_Orm_Doctrine - Fatal编程技术网

PHP条令阵列问题

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

我对中的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));
…使用标记关系打印结果

但我想做:

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);