通常、ここで説明する関連付けには、次の 3 つのタイプが含まれます。
◇ 1 対 1 の関連付け: ONE_TO_ONE (HAS_ONE および BELONGS_TO を含む)
◇ 1 対多の関連付け: ONE_TO_MANY (HAS_MANY および BELONGS_TO を含む)
◇Many 多くの関連付けの場合: MANY_TO_MANY
Association 定義
データテーブルの連想 CURD 操作 現在サポートされている関連付けには、HAS_ONE、HAS_ONE の 4 つのタイプが含まれます。 BELONGS_TO、HAS_MANY、MANY_TO_MANY。
モデルは、ビジネス モデルの複雑さに応じて同時に複数の関連付けを制限なく定義できます。すべての関連付け定義はモデル クラスの $_link メンバー変数で定義され、動的定義をサポートできます。アソシエーション操作をサポートするには、モデル クラスが RelationModel クラスを継承する必要があります。 アソシエーション定義の形式は次のとおりです。
コードをコピーします コードは次のとおりです。 🎜>
protected $_link = array(
' アソシエーション 1' => array(
' アソシエーション属性 1' => ' 定義',
' アソシエーション属性 N' => ' 定義',
),
' アソシエーション 2' => array(
' アソシエーション属性 1' => ' 定義',
' アソシエーション属性 N' => ' 定義',
),
...
);
コードをコピーします
class UserModel extends RelationModel
{
public $_link = array(
'Profile'=> array(
'mapping_type' => HAS_ONE,
'class_name'=>'Profile',
// さらに関連する属性を定義します
...
) ,
)
mapping_type アソシエーション タイプ。これは、HAS_ONE アソシエーションの HAS_ONE 定数を使用して定義する必要があります。
mapping_name データの取得に使用される関連付けられたマッピング名
foreign_key 関連付けられた外部キーの名前
condition 関連付けられた条件
mapping_fields 関連付けられたフィールドクエリされる
as_fields は、関連付けられたフィールド値をデータ オブジェクトのフィールドに直接マップします
BELONGS_TO 関連付けメソッドの定義:
コードをコピー コードは次のとおりです:
'Dept'=> array('mapping_type'=>BELONGS_TO,
'class_name'=>'Dept',
' external_key'= >'userId',
'mapping_name'=>'dept',
// さらに関連する属性を定義します
...
) ,
class_name 関連付けられるモデル クラス名
foreign_key 関連付けられた外部キー名
mapping_fields クエリされる関連付けられたフィールド
condition 関連付け条件
parent_key 自己参照 関連付けられた関連付けられたフィールド
as_fields は、関連付けられたフィールド値をデータ オブジェクト内の特定のフィールドに直接マッピングします
HAS_MANY 関連付けメソッドの定義:
コードをコピー コードは次のとおりです:
'Article'=> array('mapping_type' =>HAS_MANY,
'class_name'= >'記事',
'foreign_key'=>'userId',
'mapping_name'=>'articles',
'mapping_order'=>'create_time desc',
/ / さらに関連する属性を定義します
....
) ,
class_name 関連付けられるモデル クラス名
foreign_key 関連付けられた外部キー名
parent_key 自己参照関連付け関連フィールド
condition 関連付け条件
mapping_fields 関連付けのためにクエリされるフィールド
mapping_limit 関連付けのために返されるレコードの数
mapping_orderアソシエーションクエリの順序
MANY_TO_MANY アソシエーション メソッドの定義:
コードをコピー コードは次のとおりです:
"グループ"=>array('mapping_type' =>MANY_TO_MANY,
'class_name'=>'グループ',
'mapping_name'=>'グループ',
' foreign_key'=>'userId',
'relation_foreign_key' =>'goupId',
'relation_table'=>'think_gourpUser'
)
class_name モデル関連付けられるクラス名
foreign_key を使用してデータを取得するために使用されます。
relation_foreign_key 関連付けられたテーブルの外部キー名。関連付けによって返されるレコードの数。
mapping_order。テーブル名
関係クエリ
は、関係メソッドを使用します。相関関係を有効にするだけでなく、ローカル相関操作を制御することもできるため、すべての相関操作が制御下に置かれます。
$User = D( "User" );
$user = $User->realtion(true)->find(1);
$user の結果を出力可能これは次のようなデータです:
コードをコピー
コードは次のとおりです: コードをコピー コードは次のとおりです: コードをコピー コードは次のとおりです: $data["account"]= "ThinkPHP";
array(
'id'=>1,
'アカウント'=>'ThinkPHP',
'パスワード'=>'123456',
'プロファイル'=> array(
'メール'=>'liu21st@gmail.com',
'ニックネーム'=>'つかの間',
) ,
)
関連書き込み
$User = D( "User" ) ;
$data = array();
$data["パスワード"]="123456"; ]= array(
'email'=>'liu21st@gmail.com',
'nickname' =>' つかの間の年',
) ;
$result = $User-> ;relation( true)->add($user);
これにより、関連付けられたプロファイル データが自動的に書き込まれます。
関連付けの更新
$data["password"]= "123456";
$data["Profile"]=array(
' email'= >'liu21st@gmail.com',
'nickname' =>'流年',
) ;
$result =$User->where ('id =3')->save($data);
関係の削除
$result =$User->relation(true)->delete( "3" );

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
