模型使用时间查询时,模型字段问题

浏览:162 发布日期:2019/05/26 分类:ThinkPHP6专区
在模型中明确定义字段信息来避免多一次查询的开销<?php
namespace app\model;

use think\Model;

class User extends Model
{
    // 设置字段信息
    protected $schema = [
        'id'          => 'int',
        'name'        => 'string',
        'status'      => 'int',
        'score'       => 'float',
        'create_time' => 'string',
        'update_time' => 'string',
    ];
}
可是当查询中带有一系列时间查询的条件时,会忽略定义好的字段信息,同时多一次字段类型查询$user = new User();
$result = $user
            ->whereBetweenTime('create_time',
                date('Y-m-d', strtotime('-6 day')),
                date('Y-m-d', strtotime('+1 day')))
            ->select();
调试中输出的sql信息:
[ DB ] CONNECT:[ UseTime:0.001098s ] mysql:host=127.0.0.1;port=3306;dbname=novel;charset=utf8mb4

[ SQL ] SHOW FULL COLUMNS FROM `user` [ RunTime:0.002676s ]

[ SQL ] SELECT * FROM `user` WHERE `create_time` BETWEEN 1558281600 AND 1558886400 [ RunTime:0.001984s ]

最佳答案
评论( 相关
后面还有条评论,点击查看>>