Thinkhphp5控制器调用的Model层的方法总结
控制器器里:
1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: Haima 5 * Date: 2018/7/8 6 * Time: 15:58 7 */ 8 9 namespace app\api\controller\v1; 10 use app\api\model\Banner as BannerModel; 11 use app\api\validate\IDMustBePostiveInt; 12 use app\lib\exception\BannerMissException; 13 14 class Banner 15 { 16 /** 17 * 获取指定id的banner信息 18 * @url /banner/:id 19 * @http GET 20 * @id banner的id号 21 */ 22 public function getBanner($id) 23 { 24 (new IDMustBePostiveInt())->goCheck(); //验证$id是否为正整数 25 //调用model层的方法: 26 //方法一:静态调用(当控制器和类名一样时用别名引入) 27 $banner = BannerModel::getBannerById($id);//调用model 28 //方法二:实例化(当控制器和类名一样时用别名引入) 29 $banner = new BannerModel(); 30 $banner=$banner->getBannerById($id); 31 //方法三:用助手函数(此时不用别名,直接写model的文件名) 32 $banner=model('Banner')->getBannerById($id); 33 if (!$banner){ 34 throw new BannerMissException(); //判断结果不存在,抛出异常 35 } 36 return json($banner,200);//返回json格式的结果, 默认就是200状态码,可不写 37 }
model层里:
1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: Haima 5 * Date: 2018/7/12 6 * Time: 1:16 7 */ 8 9 namespace app\api\model; 10 use think\Db; 11 12 class Banner 13 { 14 public static function getBannerById($id){ 15 //TODO 根据Banner 的 ID号 获取Banner信息 16 $result = Db::query('select * from banner_item where banner_id = ?',[$id]); 17 return $result; 18 19 } 20 }
打印结果:
[Haima的博客]
http://www.cnblogs.com/haima/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构