分类下相关文章
2020-04-29 · 阅读 3729 · 字数 130
使用 ThinkPHP 3.2 model 的联表查询。在官网文档中没有找到相关的介绍。 示例代码 $products = M("product")->join("category ON category.c_id = product.c_id") ->where("category.p_id = " . $category_id) ->field("product.p_id as p_id, name, description") ->select(); 安全问题 ThinkPHP ...
2020-04-09 · 阅读 3903 · 字数 105
今天发现 thinkphp 3.2 不支持像 laravel 中的 create 新增数据。例如: M("tag")->create(array( "name" => "thinkphp", "created_at" => date("Y-m-d H:i:s"), )); 并没有报错,但是查看数据库里,并没有新增任何记录。 正确的做法是 M("tag")->data(array( "name&quo ...
2020-03-11 · 阅读 5043 · 字数 251
测试环境 Nginx + ThinkPHP 3.2 现象 访问网站前端页面时,一切显示正常。 但是,访问网站管理后台,即以 /admin 为前缀路径的页面时,部分页面报错。 显示报错的页面路径 目前发现的有两类路径错误: http://localhost/Admin/Index/Admin/page1.html 正确的路径应该是 http://localhost/Admin/page1.html http://localhost/Admin/Index/Admin/Admin/page2.html 正确的路径应该是 http://localhost/Admin/page2.html 报错信 ...
2020-02-12 · 阅读 5050 · 字数 29
thinkphp 3.2 模板 if 语法列表: 字符串比对 使用 eq / neq <if condition="$Think.session.site eq '阿里云'"> <h1>阿里云</h1> </if> ...
2019-10-28 · 阅读 4802 · 字数 131
ThinkPHP ORM 查询方法: find 查询一条数据 select 查询多条数据 查询示例及返回的数据结构 $tag = M("tag")->where('id=' . $tag_id)->find(); 返回: array ( 'id' => '1', 'name' => 'ThinkPHP', ) $tag = M("tag")->where('id=' . $tag_id)->select(); 返回: array ( 0 => array ( 'id' => ...
2019-10-25 · 阅读 4421 · 字数 131
ThinkPHP 在渲染模板时,主要用到了两个函数: assign 将参数变量传递给模板 display 指定模板文件的名字,即使用哪个模板文件 controller 代码示例 $title = "大象笔记"; $content = "专注 ThinkPHP 开发 20 年"; $this->assign('title', $title); $this->assign('content', $content); $this->display('index'); 模板代码示例 Hello, {$title}! assign 传递数 ...
2019-10-23 · 阅读 3437 · 字数 316
当同一个站点,电脑端跟移动端是两套代码,而且域名还不同时,一定要做好自动相互跳转对应页面。 因为百度的搜素结果有一个严重的问题,就是 电脑端使用百度搜素会搜出来移动端的页面 移动端使用百度搜素会搜出 PC 端的页面 这种情况非常常见,甚至 PC 端百度的搜索结果还会出现 MIP 的页面,我觉得有点无法理解。 还有一种情况: PC 链接在手机打开,例如微信,会自动跳转到手机版的首页,这个体验非常不好。应该是跳转对应的手机页面。 需要优化的场景 场景一,手机上搜素,百度结果给出的是 PC 的页面链接,用户打开时,自动跳转对应的移动页面。 场景二,PC 上搜素,百度结果给出的是手机移动站的页面 ...
2019-10-17 · 阅读 2410 · 字数 60
例如,默认是查询 status 为 1 的文章; 当请求参数中,包含分类 ID 时,查询条件再加上 category_id。 $where = array( 'status' => 1, ); if ($category_id != -1) { $where['category_id'] = $category_id; } $news = M("article") ->where($where) ->select(); ...
2019-10-17 · 阅读 4450 · 字数 41
例如, if condition 中不能使用 $category_id eq $v.id 而应该是 $category_id eq $v['id'] 完整代码。 <foreach name="news_tab" item="v" key="k"> <li mid="{$v.id}" <if condition="$category_id eq $v['id']"> class="active" ...
2019-10-17 · 阅读 5074 · 字数 76
没有查 ThinkPHP 的文档,以为 ThinkPHP 的查询 offset 写法跟 Laravel 一样,就写成了 $articles = M("article")->where('status=1') ->order('id desc') ->offset($offset) ->limit($limit) ->select(); 结果报错 Think\Model:offset方法不存在! 看了一下文档,发现正确的写法应该是 $articl ...
2019-10-16 · 阅读 3364 · 字数 171
我本地的 thinkphp 3.2.3 开发环境总是无法设置缓存,而线上生产环境则是好的。 S('test', 'hello'); dump(S('test')); 本地总是返回 bool(false)。 猜测是本地缓存文件的权限问题,也就是说设置缓存的时候,写入已经失败了。 因为,我们知道,设置缓存是允许失败的。毕竟缓存失败,并不应该影响正常服务的运行。例如,redis 挂了,不应该影响网站正常的运行。 测试了一下,确实是本地缓存文件的权限问题。 执行 sudo chmod 777 -R Web/Runtime/ 即可解决。 ...
2019-10-08 · 阅读 6233 · 字数 55
要查找 ThinkPHP 项目的缓存配置文件的位置,可以搜素关键词 DATA_CACHE_TYPE grep DATA_CACHE_TYPE -r Web Web/Mobile/Conf/config.php: 'DATA_CACHE_TYPE' => 'File', Web/Zh/Conf/config.php: 'DATA_CACHE_TYPE' => 'File', 数据缓存类型 支持: File|Db|Apc|Memcache|Shmop|Sqlite|Xcache|Apachenote|Eaccelerator ThinkPHP 版本 3.2.3 ...
2019-09-30 · 阅读 2702 · 字数 33
S 缓存 M 数据表 大写字母 I 获取输入的查询变量 $search = strip_tags(trim(I('get.search'))); 参考 https://blog.csdn.net/weixin_43524620/article/details/85135158 ...
2019-09-30 · 阅读 6210 · 字数 21
字段设置别名方法: M('language')->field('name1 as name')->select(); 测试环境 Thinkphp 版本 3.2.3 ...
2019-09-18 · 阅读 6024 · 字数 306
一个 Thinkphp 的网站项目,在本地使用 Nginx 搭建开发环境。但是,其他 ThinkPHP 的项目都能正常显示网页,只有这个项目打开首页,始终显示 No input file specified. 在 Nginx 的 error log 中看到如下错误信息: 2019/09/18 16:48:14 [error] 3395#3395: *4 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/home/zhongwe ...