php实例化d m f的用法,ThinkPHP学习札记(六)实例化模型的四种方法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 18:27   26   0

ThinkPHP学习笔记(六)实例化模型的四种方法

本文是基于ThinkPHP学习笔记(五)进行修改的,如果有同学使用本代码,请先阅读ThinkPHP学习笔记(五)

创建Action类

class NewObjectAction extends Action{

public function index(){

//1.创建一个基础模型

一:实例化一个系统的数据库操作类

new Model('User')相当于M('User'),在Model中放置一个需要操作的表

1命名:

thinkphp默认的有表名前缀,如果为think_user;则在Model中可以使用User或者user来获取

如果是think_user_message;则使用Model('UserMessage');大写表示对于的表名前面加上一个_

//$User=new Model('User');

调用查询方法

//$list=$User->select();

//dump($list);

二:跨模型操作;实例化一个表,同时实例化一个自己写的数据库操作类

//多用于将一些公共的业务逻辑抽离出来形成公共的Model

M('user','CommonModel')相当于new CommonModel('user');model是自动载入的

$user=M('user','CommonModel');

//$user=new CommonModel('user');

//$list=$user->select();

//dump($list);

//$user->modelTest();

//三:实例化一个用户定义的模型

//多用于不需要更加复杂的业务

//1.手动创建一个模型,针对user表创建一个自定义模型,可以封装thinkphp提供的功能

//$user=new UserModel()相当于D('user');

//D方法如果模型不存在,则抛出异常,只会实例一个,默认,只支持调用当前应用下面的模型

//$user=new UserModel();

//$list=$user->select();

//dump($list);

//$user->modelTest();

//四、实例化一个空模型;就是传统sql语句的方式;需要加表前缀

//

$user=new Model();

$list=$user->query('select * from tb_user');

dump($list);

//分组:D('admin.user');

}

}

?>

两个模型:

class CommonModel extends Model{

function modelTest(){

echo '测试的跨模型操作,调用模型中的方法';

}

}

?>

class UserModel extends Model{

function modelTest(){

echo '测试的跨模型操作,调用模型中的方法';

}

}

?>

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP