Symfony1 Symfony 1.4,条令(条令::Hydrou阵列非多重)
我只是教西蒙尼和教义。 我不知道用1行数组来代替多行数组。 我用这个:Symfony1 Symfony 1.4,条令(条令::Hydrou阵列非多重),symfony1,doctrine,Symfony1,Doctrine,我只是教西蒙尼和教义。 我不知道用1行数组来代替多行数组。 我用这个: $q = $this->createQuery('a') ->innerJoin('a.Translation t') ->andWhere('t.lang = ?', $language) ->andWhere('t.name LIKE ?', 'somename%'); return $q->execute(array(), Doctrine::
$q = $this->createQuery('a')
->innerJoin('a.Translation t')
->andWhere('t.lang = ?', $language)
->andWhere('t.name LIKE ?', 'somename%');
return $q->execute(array(), Doctrine::HYDRATE_RECORD);
然后我得到了如下结果:
Array
(
[0] => Array
(
[id] => 1
[created_at] => 2012-03-19 17:40:52
[updated_at] => 2012-03-21 17:44:04
[created_by] => 1
[updated_by] => 1
[Translation] => Array
(
[en] => Array
(
[id] => 1
[name] => somename
[lang] => en
[slug] => somename
)
)
)
)
但我需要
Array
(
[0] => Array
(
[id] => 1
[created_at] => 2012-03-19 17:40:52
[updated_at] => 2012-03-21 17:44:04
[created_by] => 1
[updated_by] => 1
[id] => 1
[name] => somename
[lang] => en
[slug] => somename
)
)
有人知道我是怎么做到的吗?您是否尝试过使用所需的列显式添加select
$q = $this->createQuery('a')
->select('a.id, a.created_at, a.updated_at, a.created_by, a.updated_by, t.id, t.name, t.lang, t.slug')
->innerJoin('a.Translation t')
->andWhere('t.lang = ?', $language)
->andWhere('t.name LIKE ?', 'somename%');
return $q->execute(array(), Doctrine::HYDRATE_ARRAY);
是否将
与
关键字一起使用
$q = $this->createQuery('a')
->innerJoin('a.Translation t WITH t.lang = ?', $language)
->where('t.name LIKE ?', 'somename%');
return $q->execute(NULL, Doctrine::HYDRATE_ARRAY);
我只用
$q = $this->createQuery('a')
->select('a.id as id, t.name as name')
->leftJoin('a.Translation t')
->where('t.name LIKE ?', $name.'%')
->andWhere('t.lang = ?', $language);
添加fetchOne()而不是execute()?