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