以下のソースコードは男性が話したものです。下の赤い部分は私が理解していない部分です。
/**
* ユーザーとユーザー情報テーブルの関連付けモデル
*/
Class UserRelationModel extends RelationModel {
//メインテーブル名の定義
Protected $tableName = 'user';
//ユーザーとユーザー情報テーブル間の関係属性を定義
Protected $_link = array(
'userinfo' => array(
'mapping_type' => ; HAS_ONE,/ / ここでの HAS_ONE は 1 対 1 の関係を指します。あるいは、カスタマイズされている場合、HAS_MANY の本質は何ですか?すごいですね、ここでこれを定義する目的は何ですか?
'foreign_key' => 'uid' // これは外部キーです
)
);
/**
*自動挿入方法
*/
パブリック関数 insert ($data=NULL) {
$data = is_null($data) ? $_POST : $data;
return $this->relation(true)-> data($data)->add() ;
}
}
?>
ディスカッションへの返信 (解決策)
は関連付けテーブルです。 1 対多は、スレーブ テーブルに対するマスター テーブルの操作として理解できます。多対 1 は、スレーブ テーブルからマスター テーブルへの操作です。
TP の多対多モデルはバグがあるため推奨されません。 一般に、この種の関係を扱うときは、より適切に制御するために、結合された SQL ステートメントを使用することをお勧めします。