プロジェクトには無制限の数の列 (テーブルなどを形成するため)、多対多の関係を持たせることができます。これを実装するためtbl_project_rel_column
に作成されます。It stores project_id
、column_id
およびProject テーブル内の列の位置。
私はACデータベースアプローチを使用しています。Project と Column の 2 つのモデルがあります。
プロジェクト モデルのリレーション メソッド:
public function relations(){
return array(
...
'columns'=>array(self::MANY_MANY,'Column','tbl_project_rel_column('p_id','c_id')
);
}
次のようなものを使用して、すべてのプロジェクトの列を取得できるようになりました。
$model = Project::model()->findbyPk($p_id);
$columns = $model->columns;
ただし、列には特定のプロジェクトの「pos」(位置) 値が格納されません。
特定のプロジェクトと特定の列の tpl_project_rel_column テーブルの 'pos' 値を取得するには?