改进一对一关联预载入查询 支持使用IN方式 一对一关联类增加setEagerlyType方法用于设置预载入查询方式 默认为JOIN方式,setEagerlyType(1) 使用IN方式

Loader类的parseName方法增加第三个参数 用于驼峰法转换是否首字母大写
This commit is contained in:
thinkphp
2016-12-13 11:43:26 +08:00
parent 8e8355e2d8
commit 082b3bea81
6 changed files with 222 additions and 30 deletions

View File

@@ -494,14 +494,16 @@ class Loader
* type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格
* @param string $name 字符串
* @param integer $type 转换类型
* @param bool $ucfirst 首字母是否大写(驼峰规则)
* @return string
*/
public static function parseName($name, $type = 0)
public static function parseName($name, $type = 0, $ucfirst = true)
{
if ($type) {
return ucfirst(preg_replace_callback('/_([a-zA-Z])/', function ($match) {
$name = preg_replace_callback('/_([a-zA-Z])/', function ($match) {
return strtoupper($match[1]);
}, $name));
}, $name);
return $ucfirst ? ucfirst($name) : lcfirst($name);
} else {
return strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $name), "_"));
}