hasAndBelongs通过更改模型中的条件来解决许多问题

时间:2011-08-24 13:06:35

标签: cakephp has-and-belongs-to-many

我通过动态更改hasAndBelongsToMany条件来选择博客条目,它对我来说不再适用于cakephp 1.3。 奇怪的问题导致它在1.2中运行良好,在模型中我通过放置一个带有静态id的条件来测试它,看看发生了什么,(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错误,但我有其他记录与其他人的结果。怪异。

1 个答案:

答案 0 :(得分:0)

如果您的数据库结构正确,则必须使用this =

$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