0

データベースには次の3つのテーブルがあります。

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

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

People
******
id
first_name
last_name

各アーティストは多くの製品を持つことができます。

各アーティストには1人しかいません。

各製品にはアーティストが1人しかいません。

これらの3つのテーブルのモデル間に設定する正しい関連付けは何ですか?

4

2 に答える 2

1

アーティストから製品:1対多
製品からアーティスト:1対1
アーティストから人:1対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'
        )
    );
}
?>

DOC

于 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 に答える