データベースには次の3つのテーブルがあります。
Products
********
id
title
artist_id
Artists
*******
id
profile
rating
person_id
People
******
id
first_name
last_name
各アーティストは多くの製品を持つことができます。
各アーティストには1人しかいません。
各製品にはアーティストが1人しかいません。
これらの3つのテーブルのモデル間に設定する正しい関連付けは何ですか?
データベースには次の3つのテーブルがあります。
Products
********
id
title
artist_id
Artists
*******
id
profile
rating
person_id
People
******
id
first_name
last_name
各アーティストは多くの製品を持つことができます。
各アーティストには1人しかいません。
各製品にはアーティストが1人しかいません。
これらの3つのテーブルのモデル間に設定する正しい関連付けは何ですか?
アーティストから製品: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'
)
);
}
?>
私はそれが次のようなものだと思います:
製品にはアーティストがいます:
<?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');
}