我通过动态更改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错误,但我有其他记录与其他人的结果。怪异。
答案 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