我正在用Doctrine構建Symfony中的任務。我得到所有的地方來批量更新到一個特定的領域。這必須用兩種語言來完成。我正在使用setBaseQuery()使用我想要的語言在查詢上進行JOIN操作。setBaseQuery不適用於Symfony中的任務
如果我在動作中執行以下操作,它沒有任何問題。但是,如果我在一項任務中這樣做;它不能按預期工作。任務完成兩次(一個英文,另一個英文!)。
任何想法,我必須做不同的任務?
的感謝!
$languages = array('es' => 'Spanish', 'en' => 'English');
foreach($languages as $lang => $value) {
// get all the places
$q = Doctrine::getTable('Place')
->createQuery('p')
->leftJoin('p.Translation ptr')
->addWhere('ptr.lang = ?', $lang);
$treeObject = Doctrine::getTable('Place')->getTree();
$rootColumnName = $treeObject->getAttribute ('rootColumnName');
$treeObject->setBaseQuery($q);
// all the continents
foreach ($treeObject->fetchRoots() as $continent) {
$this->log(date("Y-m-d H:i:s").' '.$lang.' Continent '.$continent->title);
..
}
}
什麼是Symfony和學說的版本?只是要清楚。 – develop7 2010-02-18 23:45:29
對不起,我正在使用symfony 1.2.7和doctrine 1.1.6 – fesja 2010-02-19 07:43:31