データベースから3つのテーブルをつなぐモデルの作り方は? 私のDB構造は次のとおりです。
- ユーザー
- ID
- その他の分野
- ユーザー情報
- ID
- users_id - 「users」テーブルへの外部キー
- その他の分野
- users_credentials
- ID
- users_id - 「users」テーブルへの外部キー
- その他の分野
以前は、1 つのモデルに 2 つのテーブルを結合したかったので、addRelatedEntity メソッドを使用しました。これが私のコードです:
class Model_UserInfo extends Model_Table{
public $entity_code = 'user_info';
function init(){
parent::init();
$this->addField('phone')->caption('Nr tel');
$this->addField('users_id');
}
function addRelation(){
$this->addRelatedEntity('i','users','users_id','left outer');
}
}
そして、それを他のファイルで拡張します-
class Model_User extends Model_UserInfo{
function init(){
parent::init();
parent::addRelation();
$this->newField('name')->caption('Imie')->mandatory(true)->relEntity('i','name');
}
}
そして、それはうまくいきました。しかし、3 つのテーブルを結合して 1 つのモデルにしたい場合はどうすればよいでしょうか? 2クラス延長できません。Model_User で addRelatedEntity を使用し、Model_UserInfo と Model_Credentials を参照する方法はありますか?