ThinkPHP 関連付けモデル (20)
ThinkPHP 関連付けモデル
2 つのテーブル関連付けクエリ: Message および user アソシエーション条件 uid (リファレンス マニュアル: モデル -> アソシエーション モデル)
手順:
1: メッセージ テーブルのカスタマイズされたモードを作成します --->HomeLibModelMessageModel.class .php
class MessageModel extends RelationModel{
//これは自動入力です
protected $_auto=array(
array('time','time',1,'function'),
array('uid', ' getId',1,'callback')
);
//これは関連付けられたモデル構成です
protected $_link=array(
'User'=> array(
'mapping_type'=>BELONGS_TO,
'class_name'=>'User',
'foreign_key'=>'uid', //外部キー
'mapping_name'=>' user',
'mapping_fields'=>'username', //ユーザー名フィールドのみを取得します
'as_fields'=>'username:uname', / /現在のテーブルフィールドと水平に表示します
//2つのテーブルフィールド間の競合が心配な場合は、username:unameを使用すると、uname
),
);
保護関数 getId(){
return $_SESSION[' id'];
}
}
?>
2: コントローラー
$message = D('メッセージ');
$arr=$message->relation(true )->select( );
dump($arr);
$this->assagin('list',$arr);
$this->display();
?>