(ZEND) Неустранимая ошибка: необработанное исключение «PDOException» с сообщением «SQLSTATE [23000]: - PullRequest
0 голосов
/ 04 декабря 2011

Когда я пытаюсь выполнить это Sql-Statement, у меня появляется эта ошибка:

* Неустранимая ошибка: необработанное исключение «PDOException» с сообщением «SQLSTATE [23000]: нарушение ограничения целостности: 1052 Столбец« id_actualite », где предложение неоднозначно» в C: \ wamp \ www \ contrators \ library \ Zend \ Db \ Statement \ Pdo.php в строке 234 *

Вот мой код:

    <?php
        class Critique extends Zend_Db_Table
        {
             protected $_name = "Critique" ;

             public function select_critique($limit1, $limit2)
             {
                   $db = $this -> getDefaultAdapter() ;
                   $last_actu = $db -> select()
                                    -> order('id_actualite DESC')
                                    -> from('Actualite')
                                    -> limit($limit1) ;
                   $last_actu = $last_actu -> query() ;
                   $last_actu = $last_actu -> fetch() ;

                   $select = $db -> select()
                                 -> from('Critique')
                                 -> order('id_critique DESC')
                                 -> join('Actualite', 'Critique.id_actualite = Actualite.id_actualite')
                                 -> where('id_actualite = ' . $last_actu['id_actualite'])
                                 -> limit($limit2) ;
                  return $select -> query() ;
             }
        }
   ?>

Понятия не имею об этой ошибке :( спасибо

1 Ответ

2 голосов
/ 04 декабря 2011

У вас есть два столбца с именами id_actualite: Critique.id_actualite и Actualite.id_actualite, поэтому предложение where

where('id_actualite = ' . $last_actu['id_actualite'])

является неоднозначным.Попробуйте изменить его на

where('Critique.id_actualite = ' . $last_actu['id_actualite'])

или

where('Actualite.id_actualite = ' . $last_actu['id_actualite'])
...