0

我在数据库中有以下三个表:

Products
********
id
title
artist_id

Artists
*******
id
profile
rating
person_id

People
******
id
first_name
last_name

每个艺术家可以有许多产品。

每个艺术家只有一个人。

每个产品只有一位艺术家。

在这三个表的模型之间建立的正确关联是什么?

4

2 回答 2

1

艺术家对产品:一对多
产品对艺术家:一对一
艺术家对人:一对一

例如,Artist模型:

<?php
class Artist extends AppModel {
    var $name = 'Artist';

    var $belongsTo = array(
        'Person' => array(
            'className' => 'Person',
            'foreignKey' => 'person_id'
        )
    );

    var $hasMany = array(
        'Product' => array(
            'className' => 'Product',
            'foreignKey' => 'product_id'
        )
    );
}
?>

文档

于 2011-11-08T15:30:53.280 回答
0

我想它是这样的:

产品有一个艺术家:

<?php
class Product extends AppModel {
    var $hasOne = array('Artist');
}

艺术家属于一个人,有很多产品。

<?php
class Artist extends AppModel {
    var $name = 'Artist';

    var $belongsTo = array('Person');

    var $hasMany = array('Product');
}

人有艺术家。

<?php
class Person extends AppModel {

    var $hasOne = array('Artist');

}
于 2011-11-08T16:14:55.423 回答