thinkPHP 只是一个框架而已,由MVC结构、一些实用的组件、类库等构成,你应该把他当作工具来使用。它提供的功能如果能满足你的需求,你就使用;不能的话,你可以自己添加或创造,你也可以再换一个适合你的框架(YII、CI、Laravel等等)。
站在用户的角度思考问题,与客户深入沟通,找到泗阳网站设计与泗阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟空间、企业邮箱。业务覆盖泗阳地区。
thinkPHP框架还是很灵活的,MVC结构还算合理(只是M层更多的偏向DAO,应该是借鉴了许多JAVA框架的特点)。如果你想学习thinkPHP框架,建议你多参考官方的文档以及分析框架的源码。
如果只是想在模型中对一些数据进行简单的判断,不需要读取数据库中的数据,可以使用thinkPHP的虚拟模型:
1、继承Model类
namespace Home\Model;
Class UserModel extends \Think\Model {
Protected $autoCheckFields = false;
}
设置autoCheckFields属性为false后,就会关闭字段信息的自动检测,因为ThinkPHP采用的是惰性数据库连接,只要你不进行数据库查询操作,是不会连接数据库的。
2、不继承Model类
namespace Home\Model;
Class UserModel {
}
这种方式下面自定义模型类就是一个单纯的业务逻辑类,不能再使用模型的CURD操作方法,但是可以实例化其他的模型类进行相关操作,也可以在需要的时候直接实例化Db类进行数据库操作。
更多关于thinkPHP的模型相关内容,请参考官方参考手册的《模型》小节。
1,在show内容页界面 调用字段数据直接使用 {$content},{$字段名} 2,PHPCMS没有多字段的搜索需要修改控制器的代码或在界面里面使用 {pc:get sql=""}标签 3,PHPCMS的帮助文档
方式很多,例如
$data = $_POST;
$User = M('User');
$User-save($data);
或者
$User = M('User');
$User-create();
$User-save();
要具体方式具体分析,总得来说,流程就是接受浏览器POST来的数据,然后调用模型的save方法来更新,或者直接使用create方法来接受并初始化POST过来的数据。但需要注意的是,数据库里需要已存在这条数据。这些基本的方法你可以去参考开发手册。
如果你是这么做的但仍然不行,那么你可以使用模型的getLastSql()方法来查看模型到底是执行了什么样的SQL语句,然后自己看看SQL语句是否有问题,以便排查自己的错误
这时候最好不要在数据模型上操作,而是在逻辑模型上操作。
也就是说,数据模型(Data Model)任然是一个模型对应一张表。而在数据模型和控制器间,再插入一个逻辑模型(Logic Model),通过逻辑模型(逻辑模型操作多个数据模型)完成一些逻辑操作(如下单等等)。
这样能保证整体架构的清晰。