ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP3.2 の関連クエリの解決策

ThinkPHP3.2 の関連クエリの解決策

WBOY
WBOYオリジナル
2016-06-13 12:24:491235ブラウズ

ThinkPHP3.2 の関連付けクエリ

CREATE TABLE `test_avatar` (<br />  `uid` int(11) unsigned NOT NULL DEFAULT '0',<br />  `avatar` varchar(255) NOT NULL DEFAULT '',<br />  PRIMARY KEY (`uid`)<br />) ENGINE=MyISAM DEFAULT CHARSET=utf8;<br />INSERT INTO `test_avatar` VALUES (1,'./Uploads/admin.jpg');<br /><br />CREATE TABLE `test_pro` (<br />  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,<br />  `uid` int(11) unsigned NOT NULL DEFAULT '0',<br />  `name` varchar(255) NOT NULL DEFAULT '',<br />  PRIMARY KEY (`id`)<br />) ENGINE=MyISAM DEFAULT CHARSET=utf8;<br />INSERT INTO `test_pro` VALUES (1,1,'产品1'),(2,1,'产品2');<br /><br />CREATE TABLE `test_user` (<br />  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,<br />  `username` varchar(50) NOT NULL DEFAULT '',<br />  `tel` int(11) unsigned NOT NULL DEFAULT '0',<br />  PRIMARY KEY (`id`)<br />) ENGINE=MyISAM DEFAULT CHARSET=utf8;<br />INSERT INTO `test_user` VALUES (1,'admin',110);

上記 3 つのテーブル: ユーザー アバター テーブル、製品テーブル、ユーザー テーブル
モデル内で関連付けを確立するにはどうすればよいですか?
class ProModel extends RelationModel{<br /><br />	protected $_link=array(<br />		'Avatar'=>array(<br />			'mapping_type'=>self::HAS_ONE,<br />			'class_name'=>'Avatar',<br />			'foreign_key'=>'uid',<br />			'mapping_fields'=>'avatar',<br />			'as_fields'=>'avatar',<br />		),<br />        )<br />}

HAS_ONE、BELONGS_TO、HAS_MANY、MANY_TO_MANY を使用してみましたが、うまくいきませんでした。アドバイスをお願いします
-----解決策のアイデア----- ----- -----------
Model
<br />class ProModelModel extends ViewModel {  <br />		<br />	public $viewFields = array(     <br />		'test_avatar'=>array(<br />				'id',...<br />			),     <br />		'test_pror'=>array(<br />			'id',...<br />			'_on'=>''<br />			),      <br />               'test_pror'=>array(<br />			'id',...<br />			'_on'=>''<br />			), <br />	   ); <br />}

の下に ProModelModel.class.php を作成します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。