ThinkPHP开发指南-模型之动态模型:修订间差异

来自站长百科
跳转至: 导航、​ 搜索
(新页面: <span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>上一页</span> <div style="clear:both;"></div...)
 
无编辑摘要
 
第1行: 第1行:
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[ThinkPHP开发指南-模型|上一页]]</span>
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[ThinkPHP开发指南-模型|上一页]]</span>
<div style="clear:both;"></div>
<div style="clear:both;"></div>
新版的模型可以在不同的类型之间切换,例如你可以从基本模型切换到高级模型或者视图模型,而当前的数据不会丢失,并可以控制要传递的参数和动态赋值。要切换模型,可以使用:
'''PHP代码'''
<pre>
$User = M("User"); // 实例化User对象 是基础模型类的实例
</pre>
// 动态切换到高级模型类 执行top10查询操作
'''PHP代码'''
<pre>
$User->switchModel("Adv")->top10(); 
</pre>
如果要传递参数,可以使用:
'''PHP代码'''
<pre>
$User = D("User"); // 实例化User对象 是基础模型类的实例 
</pre>
// 动态切换到视图模型类 并传入viewFields属性
'''PHP代码'''
<pre>
$UserView = $User->switchModel("View",array("viewFields")); 
</pre>
如果要动态赋值,可以使用:
'''PHP代码'''
<pre>
$User = M("User"); // 实例化User对象 是基础模型类的实例 
</pre>
// 动态切换到高级模型类 并传入data属性
'''PHP代码'''
<pre>
$advUser = $User->switchModel("Relation"); 
</pre>
// 或者在切换模型后再动态赋值给新的模型
'''PHP代码'''
<pre>
$advUser->setProperty("_link",$link); 
</pre>
// 查找关联数据
'''PHP代码'''
<pre>
$user = $advUser->relation(true)->find(1);
</pre>
[[category:ThinkPHP]]

2010年5月13日 (四) 15:52的最新版本

导航:上一页

新版的模型可以在不同的类型之间切换,例如你可以从基本模型切换到高级模型或者视图模型,而当前的数据不会丢失,并可以控制要传递的参数和动态赋值。要切换模型,可以使用:

PHP代码

$User = M("User"); // 实例化User对象 是基础模型类的实例

// 动态切换到高级模型类 执行top10查询操作

PHP代码

$User->switchModel("Adv")->top10();   

如果要传递参数,可以使用:

PHP代码

$User = D("User"); // 实例化User对象 是基础模型类的实例   

// 动态切换到视图模型类 并传入viewFields属性

PHP代码

$UserView = $User->switchModel("View",array("viewFields"));   

如果要动态赋值,可以使用:

PHP代码

$User = M("User"); // 实例化User对象 是基础模型类的实例   

// 动态切换到高级模型类 并传入data属性

PHP代码

$advUser = $User->switchModel("Relation");   

// 或者在切换模型后再动态赋值给新的模型

PHP代码

$advUser->setProperty("_link",$link);   

// 查找关联数据

PHP代码

$user = $advUser->relation(true)->find(1);