2

我有一个 products 表和一个 products_relateds 表。这包含对产品的 2 个引用(product_id 和 related_id)

我正在尝试在我的产品模型中为此建立一个 HABTM 关系

public $hasAndBelongsToMany = array(
        'Related' => array(
            'className' => 'Product',
            'joinTable' => 'products_relateds',
            'foreignKey' => 'product_id',
            'associationForeignKey' => 'related_id',
            'unique' => 'keepExisting',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'finderQuery' => '',
            'deleteQuery' => '',
            'insertQuery' => ''
        )
    );

这看起来对吗?我需要创建相关模型吗?我没有收到任何错误,并且当这种关系存在时,查看产品页面将不会加载

4

1 回答 1

0

该代码很好,您的错误必须在其他地方。使用$this->Product->findBy(1)应该返回如下内容:

array(
    'Product' => array(
        'id' => '1',
        'name' => 'Test 1'
    ),
    'Related' => array(
        0 => array(
            'id' => '2',
            'name' => 'Test 2',
            'ProductsRelated' => array(
                'id' => '3',
                'product_id' => '1',
                'related_id' => '2'
            )
        ),
        1 => array(
            'id' => '3',
            'name' => 'Test 3',
            'ProductsRelated' => array(
                'id' => '1',
                'product_id' => '1',
                'related_id' => '3'
            )
        )
    )
)
于 2013-05-01T23:56:44.097 回答