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/