Propel / Symfony: проблема с критериями - PullRequest
0 голосов
/ 05 октября 2010

У меня есть этот запрос внутри метода:

public static function pincopalla(){

     $con = Propel::getConnection(SediI18nPeer::DATABASE_NAME);

     $sql = "select * from sedii18n where culture = :country
     UNION
     select * from sedii18n where culture <> :country";


     $stmt = $con->prepare($sql);

    $result = $stmt->execute(array(':country' => 'eu'));

    return $result;

}

Когда я вызываю метод, я получаю ошибку Symfony ниже жесткой существует cashgold_new.sedii18n ..:

500 | Internal Server Error | PDOException
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cashgold_new.sedii18n'    doesn't exist
stack trace

* at ()
  in SF_ROOT_DIR/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel/util/DebugPDOStatement.php line 99 ...
          96.     public function execute($input_parameters = null)
          97.     {
          98.         $debug    = $this->pdo->getDebugSnapshot();
          99.         $return    = parent::execute($input_parameters);
         100.         
         101.         $sql = $this->getExecutedQueryString();
         102.         $this->pdo->log($sql, null, __METHOD__, $debug);

Для отладки я изменил имя класса аргумента getConnection (), ожидая ту же ошибку, но ... ошибка не та! ..:

Неустранимая ошибка: класс SediBlaBlaI18nPeer не найден в /home/javier/Aptana_Studio_Workspace/cashgold/lib/model/SediI18nPeer.php по линии 25

Есть идеи, в чем проблема?

1017 * Javi *

1 Ответ

0 голосов
/ 07 декабря 2010

После сообщения об ошибке Базовая таблица или представление не найдено: 1146 Таблица 'cashgold_new.sedii18n'

Убедитесь, что у вас есть БД / схема с именем cashgold_new, содержащая таблицу sedii18n

Кстати ваш запрос очень странный.Разве это не эквивалентно select * from sedii18n?

...