シナリオは次のとおりです。
IssueとProjectの2つのテーブルがあります。
プロジェクトには多くのIssueを含めることができ、Issueには1つのプロジェクトだけを含めることができます。
問題は多対多なので、定義する必要がありますか?
私が持っているプロジェクトモデルで私が知っている原因:
public function relations()
{
return array(
'issues' => array(self::HAS_MANY, 'Issue', 'project_id'),
'users' => array(self::MANY_MANY, 'User', 'tbl_project_user_assignment(project_id, user_id)'),
);
}
Issue Modelの場合、外部キーしかありません。
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'requester' => array(self::BELONGS_TO, 'User', 'requester_id'),
'owner' => array(self::BELONGS_TO, 'User', 'owner_id'),
'project' => array(self::BELONGS_TO, 'Project', 'project_id'),
);
}
1つの関係に何かを定義する必要はないと思いますか?
前もって感謝します。
ところで、私はアジャイルYiiの本をやっていて、結局この質問を自問しました。ARクラスにはhas-oneオプションがあります(http://www.yiiframework.com/doc/guide/database.arr)。
しかし、このケースは何らかの理由でオプションですか?