码迷,mamicode.com
首页 > Web开发 > 详细

[李景山php]每天TP5-20170113|thinkphp5-Model.php-6

时间:2016-12-11 10:33:44      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:thinkphp

/**
 * 分析查询表达式
 * @access public
 * @param mixed         $data 主键列表或者查询条件(闭包)
 * @param string        $with 关联预查询
 * @param bool          $cache 是否缓存
 * @return Query
 */
protected static function parseQuery(&$data, $with, $cache)//解析 sql 表达式
{
    $result = self::with($with)->cache($cache);// 获取结果 关联查询 及 是否 进行缓存
    // 根据 with 及 缓存 生成 对应的 句柄
    if (is_array($data) && key($data) !== 0) {// 是数组 并且 数组的 key 不等于 0
        $result = $result->where($data);// 获取 普通结果
        $data   = null;// 清空引入的条件
    } elseif ($data instanceof \Closure) {// 如果是闭包 函数
        call_user_func_array($data, [ & $result]);// 调用 数据
        $data = null;// 清空引入 数据资源
    } elseif ($data instanceof Query) {// 如果 是query 对象
        $result = $data->with($with)->cache($cache);// 直接 自己进行执行
        $data   = null;
    }
    return $result;
}// 根据 不同的情况 进行 不同的展示


本文出自 “专注php 群号:414194301” 博客,请务必保留此出处http://jingshanls.blog.51cto.com/3357095/1881601

[李景山php]每天TP5-20170113|thinkphp5-Model.php-6

标签:thinkphp

原文地址:http://jingshanls.blog.51cto.com/3357095/1881601

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!