Я создаю задачу в Symfony с Doctrine. Я получаю все места для пакетного обновления определенного поля. Это должно быть сделано на двух языках. Я использую setBaseQuery(), чтобы СОЕДИНИТЬ запрос с нужным мне языком.
Если я делаю следующее в действии, это работает без проблем. Однако, если я сделаю это в задаче; это не работает, как ожидалось. Задача отлично выполняется два раза (один на английском и другой тоже на английском!).
Любые идеи о том, что я должен делать по-другому в задачах?
Благодарность!
$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);
..
}
}