🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 动态模型 [上一页](79.html "上一页")[下一页](81.html "下一页") 新版的模型可以在不同的类型之间切换,例如你可以从基本模型切换到高级模型或者视图模型,而当前的数据不会丢失,并可以控制要传递的参数和动态赋值。 要切换模型,可以使用:`$User = M("User"); // 实例化User对象 是基础模型类的实例<br class="calibre5"></br>// 动态切换到高级模型类 执行top10查询操作<br class="calibre5"></br>$User->switchModel("Adv")->top10();`上面的写法也可以改成`$User = M("AdvModel:User"); // 实例化User对象 是基础模型类的实例<br class="calibre5"></br>$User->top10();`如果要传递参数,可以使用:`$User = D("User"); // 实例化User对象 是基础模型类的实例<br class="calibre5"></br>// 动态切换到视图模型类 并传入viewFields属性<br class="calibre5"></br>$UserView = $User->switchModel("View",array("viewFields"));`如果要动态赋值,可以使用:`$User = M("User"); // 实例化User对象 是基础模型类的实例<br class="calibre5"></br>// 动态切换到关联模型类 并传入data属性<br class="calibre5"></br>$advUser = $User->switchModel("Relation");<br class="calibre5"></br>// 或者在切换模型后再动态赋值给新的模型<br class="calibre5"></br>$advUser->setProperty("_link",$link);<br class="calibre5"></br>// 查找关联数据<br class="calibre5"></br>$user = $advUser->relation(true)->find(1);` [上一页](79.html "上一页")[下一页](81.html "下一页")