framework icon indicating copy to clipboard operation
framework copied to clipboard

ThinkPHP Framework

Results 260 framework issues
Sort by recently updated
recently updated
newest added

在使用 $validate->batch()->check($data); 时并不会生效,当$data是多条数据而不是单条数据时

使用thinkphp 创建用户后紧接着用获取器获取状态的值 status_text 会报错 未定义数组索引: status,但是实际上用户已经创建成功了,status 使用的是默认值,未传参。

如果计算机名为中文(本地开发常见)。在debug开启的模式下,会因为编码问题导致json_decode()失效,而报‘’Malformed UTF-8 characters‘’的错误,会看不到具体的报错信息。

日志文件删除时,未对文件排序,导致删除错误。 ![imgage](https://github.com/declandragon/img_res/raw/master/1622534141772_C648BF13-65DA-494b-9058-48FE8008CFB5.png) 我理解的应该是删除绿色框中的文件,实际删除了蓝色框中间的文件。

在进行前置信息(表字段)获取阶段,在创建数据库连接对象时没有使用 Query 对象, 即 $options['master'] = true 选项未正确应用,未取得合适的连接对象(应该取得主库的连接对象)。以下是具体示例,实际执行时都连接了从库,但是应该使用主库连接。 Db::table('tp_users')->master(true)->where('id','=',1)->find(); Db::table('tp_users')->master(true)->where('id',1); 具体的配置信息如下: HOSTNAME = 192.xx,192.xx DATABASE = tp_first,tp_second 'deploy' => 1, 'rw_separate' => true, 'master_num' => 1, 'slave_no' => 1,

ORM

Model::where() 是可以查询到数据的,但请问是什么原理? 整个框架搜索都没有发现数据库相关的有定义static function where。为什么不会报错?

我使用TP6.0.12创建自定义的命令HelloCommand: ```

版本号: Thinkphp6.0.12 废话不说, 直接上代码 ``` Db::name('project_comment')->json(['img'])->where('pid', '=', $project_id)->order('id', 'desc')->cacheAlways('test_key',Time::secondDay())->paginate(['list_rows' => 15, 'query' => request()->param()]) ``` 这个代码里, 同时使用了paginate和cache以后, 只要自定义cache的key, 就会报错.如果不自定义key就是正常的. 错误如下: #0 [0]TypeError in PDOConnection.php line 695 think\db\PDOConnection::pdoQuery(): Return value must...

ORM

``` /** * 默认URL解析 * @access public * @param string $url URL地址 * @return Dispatch */ public function url(string $url): Dispatch { if ($this->request->method() == 'OPTIONS') { // 自动响应options请求 return...

Route

官网文档的写法如下: 后面称为:A用法。 ``` location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } ``` 实际上使用`!-f`会更好一些: 后面成为B用法。 ``` location / { if (!-f $request_filename) { rewrite ^(.*)$...