2

请帮我。我是 CakePHP 的新手。我有一个数据库关联。时事通讯 hasAndBelongsToMany 类别。我尝试了 hasMany_Through 而不是 hasAndBelongsToMany (HABTM)

//Newsletter
public $hasMany = array(
    'CategoryNewsletterShip'
    )
);



//Category
public $hasMany = array(
   'CategoryNewsletterShip'
       )
 );


//CategoryNewsletterShip
 public $belongsTo = array(
    'Newsletter', 'Category'
    )
 );

在 NewsletterController 我试过了: find('all') ;

// NewslettersConroller
$newsletters = $this->Newsletter->find('threaded');
this->set('newsletters', $newsletters);
//----

我只能检索时事通讯及其许多 CategoryNewsletterShips。我如何检索他们的类别?

我需要的是时事通讯和他们的类别。

感谢您的帮助。

4

1 回答 1

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'
                        ),
                    )
)));
于 2014-06-25T16:24:13.877 回答