Thinkphp5 模型类和Db类的使用区别

本文阅读 2 分钟
首页 Thinkphp笔记 正文

使用总结

在控制器中模型操作
get() 和 all()只能单独使用来查询数据
想要链式操作查询数据 需要使用find() 和select() 这里返回的都是对象集

在User控制器中

use app\console\model\User as UserModel;
$user = UserModel::all();
dump($user);
exit();
'这里会输出数据对象集 表示可用
$user = UserModel::select();
dump($user);
exit();

'输出的也是数据对象集
$user = UserModel::get();
dump($user);
exit();
'这里返回到是ID为1用户
'尝试把ID为1的用户删除掉 返回的是ID为2的数据
'所以这里直接使用get()不带参数  会返回一个根据ID正序排列的第一个数据对象
$user = UserModel::find();
dump($user);
exit();
'使用find()  和使用 get() 是一样的用法 单纯使用时
$user = UserModel::where('id',5)->get();
dump($user);
exit();

'这里会报错
'[ error ] method not exist:think\db\Query->get
$user = UserModel::where('id',5)->find();
dump($user);
exit();
'返回用户ID为5的对象  如果查找的用户数据不存在会返回null
$user = UserModel::where('id',5)->select();
dump($user);
exit();

'返回对象集
$user = UserModel::where('id',5)->all();
dump($user);
exit();
'报错 method not exist:think\db\Query->all

假如有个Order模型 ,在尝试使用时有以下结果

使用 self::get();

'获取数据时正确的
self::with('user')->get()
'这里会提示 method not exist:think\db\Query->get

'只有单独get 时才会是正确的 ,不能够加入其他语句条件
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

thinkphp5模型时间戳设置
« 上一篇 11-03
解决thinkphp5跨域问题 cors协议解决
下一篇 » 11-05

发表评论