Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 通过改变模型中的条件来解决hasAndBelongsToMany问题_Cakephp_Has And Belongs To Many - Fatal编程技术网

Cakephp 通过改变模型中的条件来解决hasAndBelongsToMany问题

Cakephp 通过改变模型中的条件来解决hasAndBelongsToMany问题,cakephp,has-and-belongs-to-many,Cakephp,Has And Belongs To Many,我通过动态地改变hasandbelongtomy条件来选择博客条目,CakePHP1.3不再适用于我。 奇怪的问题,因为它在1.2中运行良好,在模型中,我通过放置一个带有静态id的条件来测试它,看看会发生什么,Tag.name=>'libros'。但它通过了哈桑德贝隆胃条件。给我带来任何结果 var $hasAndBelongsToMany = array('Tag' => array('className' => 'Tag',

我通过动态地改变hasandbelongtomy条件来选择博客条目,CakePHP1.3不再适用于我。 奇怪的问题,因为它在1.2中运行良好,在模型中,我通过放置一个带有静态id的条件来测试它,看看会发生什么,Tag.name=>'libros'。但它通过了哈桑德贝隆胃条件。给我带来任何结果

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错误,但我有其他记录和其他结果。奇怪。

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

$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')
            ));
您可以通过以下网址了解更多信息: