hasAndBelongsToMany проблема путем изменения условия в модели - PullRequest
0 голосов
/ 24 августа 2011

Я выбираю записи в блоге, меняя условия hasAndBelongsToMany на лету, у меня больше не работает с cakephp 1.3. Странная проблема, потому что он работал нормально с 1.2, в модели я тестирую его, помещая условие со статическим идентификатором, чтобы увидеть, что происходит, (Tag.name => 'libros'). но оно проходит через условие hasAndBelongsToMany. Принеси мне любые результаты.

var $hasAndBelongsToMany = array('Tag' =>
                       array('className'  => 'Tag',
                             'joinTable'  => 'blogs_tags',
                             'foreignKey' => 'blog_id',
                             'associationForeignKey'=> 'tag_id',
                             'conditions' => '',
                             'order'      => '',
                             'limit'      => '',
                             'unique'       => true,
                             'finderSql'  => '',
                             'deleteQuery'=> ''
                       )

в контроллере

$this->Blog->bindModel(array(
                  'hasAndBelongsToMany' => array(
                        'Tag' => array('conditions'=>array('Tag.name'=>'libros'))
            )));
            $this->Blog->find('all');

Теперь у меня больше нет ошибки mysql, но у меня есть другие записи с результатами других. Weird.

1 Ответ

0 голосов
/ 24 августа 2011

Если у вас правильная структура базы данных, необходимо использовать это =

$this->Blog->bindModel(array(
                        'hasOne' => array(
                              'BlogsTag',
                              'FilterTag' => array(
                                    'className' => 'Tag',
                                    'foreignKey' => false,
                                    'conditions' => array('FilterTag.id = BlogsTag.tag_id')
                  ))));
            $data = $this->Blog->find('all', array(
                        'fields' => array('Blog.*'),
                        'conditions'=>array('FilterTag.name'=>'libros')
            ));

Вы можете узнать больше об этом на: http://book.cakephp.org/view/1044/hasAndBelongsToMany-HABTM

...