请帮帮我。我是CakePHP的新手。 我有一个数据库关联。 时事通讯有和明星到很多类别。 我试过hasMany_Through而不是hasAndBelongsToMany(HABTM)
//Newsletter
public $hasMany = array(
'CategoryNewsletterShip'
)
);
//Category
public $hasMany = array(
'CategoryNewsletterShip'
)
);
//CategoryNewsletterShip
public $belongsTo = array(
'Newsletter', 'Category'
)
);
on NewsletterController我试过:find('all');
// NewslettersConroller
$newsletters = $this->Newsletter->find('threaded');
this->set('newsletters', $newsletters);
//----
我只能检索简报及其许多CategoryNewsletterShips。 如何检索他们的类别?
我需要的是时事通讯及其类别。
感谢您的帮助。
答案 0 :(得分:0)
可能为时已晚
您需要构建一个连接查询:
$this->Newsletter->find('all', array(
'joins' => array(
array(
'table' => 'category_newsletter_ships',
'alias' => 'CategoryNewsletterShip',
'type' => 'inner',
'conditions' => array(
'Newsletter.id = CategoryNewsletterShip.newsletter_id'
),
),
array(
'table' => 'categories',
'alias' => 'Category',
'type' => 'inner',
'conditions' => array(
'Category.id = CategoryNewsletterShip.category_id'
),
)
)));