Cakephp, i18n, ошибка SQL, неуникальная таблица / псевдоним - PullRequest
1 голос
/ 22 марта 2010

Я получаю следующую ошибку SQL:

SQL Error: 1066: Not unique table/alias: 'I18n__name'

при выполнении простого запроса поиска.

Любые идеи о возможных ситуациях, которые могли это вызвать ??Я использую метод bindModel для получения данных, которые связаны?

Это мой код:

$this->Project->bindModel(array(
                                        'hasOne' => array(
                                        'ProjectsCategories',
                                        'FilterCategory' => array(
                                                                'className' => 'Category',
                                                                'foreignKey' => false,
                                                                'conditions' => array('FilterCategory.id = ProjectsCategories.category_id')
                                                                ))));
$prlist = $this->Project->find('all', array(
                                                    'fields' => array('DISTINCT slug','name'),
                                                    'conditions' => array('FilterCategory.slug !='=>'uncategorised')
                                                    ))

Ответы [ 2 ]

1 голос
/ 05 января 2011

Вы не использовали или не инициализировали необходимую таблицу / модель, которую используете в своем контроллере. Используйте var $uses = array('your_table_name');

0 голосов
/ 23 марта 2010

У меня нет прямого ответа на мою проблему. Однако после некоторого исследования я пришел к следующему выводу.

Я решил изменить свою методологию и прекратить использовать поведение translate в cakephp. Я обнаружил другое поведение под названием i18n, которое работает намного лучше при работе со связанными моделями. Вы можете прочитать об этом http://www.palivoda.eu/2008/04/i18n-in-cakephp-12-database-content-translation-part-2/#comment-1380 В книге CakePHP говорится:

"Обратите внимание, что только поля модели вы прямо делаете find по желанию быть переведенным. Модели прикреплены через ассоциации не будут переведены потому что запуск обратных вызовов на связанных моделей в настоящее время нет поддерживается. "

Я не уверен, что сделал правильный выбор, однако я изо всех сил пытался заставить поведение translate работать в cakephp, и это решение по крайней мере делает проект, над которым я работаю, функциональным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...