Db('user')->where('id',1)->find()返回的是数组use app\admin\model\User as UserModel ;protected $user_model;
// 构造函数
function __construct()
{
parent::__construct();
$this->user_model = new UserModel();
}$this->user_model = new UserModel();
$this->user_model->where('id',1)->find();此时返回的是一个模型对象,查了下源码是因为 thinkphp\library\think\db\Query.php中,约2086行开始// 数据处理
if (!empty($result[0])) {
$data = $result[0];
if (!empty($this->model)) {
// 返回模型对象
$model = $this->model;
$data = new $model($data);
$data->isUpdate(true, isset($options['where']['AND']) ? $options['where']['AND'] : null);
// 关联查询
if (!empty($options['relation'])) {
$data->relationQuery($options['relation']);
}
if (!empty($options['with'])) {
// 预载入
$data->eagerlyResult($data, $options['with'], is_object($result) ? get_class($result) : '');
}
}
}不明白这里为何要判断返回一个模型对象,我只是new model,按说应该返回的是正常的数组呀ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。