一.thinkphp的视图模型
%Fp>
定义视图模型并不是那么的困难,只需要继承ViewModel,然后设置Viewfield属性就可以了。
class BlogViewModel extends ViewModel{
public $Viewfields=array('Blog'=>('name','id','title'),'Category'=>array('title'=>'Category_name','_on'=>'Blog.Category_id'=>'Category_id'),'User'=>array ('name'=>'Username','_on'=>'Blog.User_id'='User.id')) ;
}
定义视图模型
'Blog'=>('name','id','title')
‘_as’=>'myBlog'
'title'=>'Category_name'
'_on'=>'Blog.Category_id'=>'Category_id'
'_type'=>'LEFT'
视图查询
$Model=D("BlogView");
$Model->field('id,name,title,Category_name,User_name')->where('id>10')->('id dsc')->select();
$Model->field('id,name,title,Category_name,User_name')->where('id>10')->('id dsc')->group('id')->select();
二.关联模型
1.一对一关联:ONE_TO_ONE 包括HAS_ONE和BLONGS
2.一对多关联:ONE_TO_MANY 包括HAS_MANY和BLONGS
3.多对多关联:MANY_TO_MANY
一个复杂的模型可以同时定义多个关联,不受限制,要支持关联操作,模型类必须继承RelationModel,关联定义的格式:
protected $_link=array('关联1'=>‘array(‘关联属性1’=>定义’,...'关联属性N'=>'定义'),‘关联2'=>‘array(‘关联属性1’=>定义’,...'关联属性N'=>'定义'),...);