php 实现 model层,Thinkhphp5控制器调用的Model层的方法总结
发布日期:2021-06-24 16:13:49 浏览次数:4 分类:技术文章

本文共 3650 字,大约阅读时间需要 12 分钟。

控制器器里:

/**

* Created by PhpStorm.

* User: Haima

* Date: 2018/7/8

* Time: 15:58

*/

namespace app\api\controller\v1;

use app\api\model\Banner as BannerModel;

use app\api\validate\IDMustBePostiveInt;

use app\lib\exception\BannerMissException;

class Banner

{

/**

* 获取指定id的banner信息

* @url /banner/:id

* @http GET

* @id banner的id号

*/

public function getBanner($id)

{

(new IDMustBePostiveInt())->goCheck(); //验证$id是否为正整数

//调用model层的方法:

//方法一:静态调用(当控制器和类名一样时用别名引入)

$banner = BannerModel::getBannerById($id);//调用model

//方法二:实例化(当控制器和类名一样时用别名引入)

$banner = new BannerModel();

$banner=$banner->getBannerById($id);

//方法三:用助手函数(此时不用别名,直接写model的文件名)

$banner=model('Banner')->getBannerById($id);

if (!$banner){

throw new BannerMissException(); //判断结果不存在,抛出异常

}

return json($banner,200);//返回json格式的结果, 默认就是200状态码,可不写

}

model层里:

/**

* Created by PhpStorm.

* User: Haima

* Date: 2018/7/12

* Time: 1:16

*/

namespace app\api\model;

use think\Db;

class Banner

{

public static function getBannerById($id){

//TODO 根据Banner 的 ID号 获取Banner信息

$result = Db::query('select * from banner_item where banner_id = ?',[$id]);

return $result;

}

}

打印结果:

22b8f5a90063f1a5682f904e3361dbd7.png

.net 控制器调用外部链接传参方法

public class RequestHelper { /// /// 发起post请求 /// ///

servlet层调用biz业务层出现浏览器 500错误,解决方法 dao数据访问层 数据库Util工具类都可能出错 通过新建一个测试类复制代码逐步测试查找出最终出错原因

package com.swift.jztk.servlet; import java.io.IOException; import javax.servlet.ServletException; i ...

ThinPHP命名空间,连接数据库是要修改的配置文件,Model数据模型层,跨控制器调用,如何获取系统常量信息,

一.命名空间(主要是为了实现自动加载类) *命名空间(相当于虚拟的目录),为了让类有一个统一的文件夹来管理(可以自动加载'类'),每个文件都要有命名空间*tp如何做命名空间:*TP框架下有一个初始命名 ...

2016/05/10 thinkphp 3.2.2 ①系统常量信息 ②跨控制器调用 ③连接数据库配置及Model数据模型层 ④数据查询

[系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...

0626-TP整理二(调试模式,空操作,跨控制器调用,跨方法跳转--redirect(),框架语法,创建model模型)

一.调试模式(入口文件:index.php) define('APP_DEBUG', true);  //调试模式 define('APP_DEBUG', FALSE);  //运行模式 开启日志信息 ...

TP5 中实现支付宝支付 利用model层调用支付宝类库

thinkphp5的控制器调用自身模块和调用其他模块的方法

以user为例,调用user.php的get_number()方法 一.不管是调用自身模块还是其他模块app\model\User.php写法不变 <?php namespace app\ind ...

ThinkPHP跨控制器调用方法

跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController();  用绝对路径找echo $sc->ShuChu(); ...

基础才是重中之重~Data层如何调用BLL层的方法&comma;如果觉得奇怪请看本文章

回到目录 看似不伦不类 这个题目有点不伦不类,或者说有点伪模式了,不错,确实是这样,我们正确的开发思维是WEB层->BLL层->DATA层,每个层有对它下层的引用,下层不能引用上层,因为这 ...

随机推荐

oracle导入导出小记

问题:11.2.0.3.0 导入  11.2.0.2.0 都是oracle 11g ,从0.3.0到0.2.0 报错,以为是版本问题,结果不是 采用impdp 导入exp导出的文件会报错 所以改为im ...

ORA-27102&colon; out of memory并伴随OSD-00031的处理

刚才客户电话过来说有个数据库起不来了,开发商搞了好久搞不掂,得要让我们去帮忙看看.过去到现场,发现数据库无法打开,连nomount模式都不可以.报错的内容大致如下: ORA-27102: out of ...

【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能

本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...

Automatically watermark all uploaded photos &lpar;给所有上传的相片加水印&rpar;

Hello, This mod automatically watermark all uploaded photos. Price: FREE, enjoy. You will have to ed ...

HTML&plus;CSS D07 边框、div

1.边框(border) 常用表达 border-width px thin 定义细的边框. medium 默认.定义中等的边框. thick 定义粗的边框. length 允许您自定义边框的宽度. ...

&period;net窗体程序的基础知识及详细笔记

第一章:初识Windows程序 1.1:第一个wondows程序 1.1.1:认识windows程序 Form1.cs:窗体文件:程序对窗体编写的代码一般都存放在这个文件(还有拖动控件时的操作和布局, ...

html5的结构

目录 一.新增的主体结构元素 1.1.article元素 1.2.section元素 1.3.nav元素 1.4.aside元素 1.5.time元素 1.6.pubdate元素 二.新增的非主体结构 ...

用HTML5实现的各种排序算法的动画比較

用HTML5实现的各种排序算法的动画比較 非常有意思,详见: http://www.webhek.com/misc/comparison-sort/

js 字符与ASCII码互转

将字符转为ASCII码 var str = "A"; str.charCodeAt(); var str1 = 'a'; str1.charCodeAt(); 将ASCII码转为字 ...

GO入门——2&period; 变量

1 基本类型 零值并不等于空值,而是当变量被声明为某种类型后的默认值, 通常情况下值类型的默认值为0,bool为false,string为空字符串,引用为nil. 1.1 布尔类型 关键字:bool ...

转载地址:https://blog.csdn.net/weixin_33744799/article/details/115973606 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:matlab6.0序列号,MFC软件获取USB设备的制造商、产品、序列号
下一篇:如何使用matlab的siso,利用Matlab内建程式SISODesignTool完成系统分析(Matlab61)开启.PDF...

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月21日 15时34分30秒