Thinkphp5 中字段别名是汉字 , 提示错误:不支持的数据表达式
文章插图
需要这些哦
thinkphp5框架
浏览器
编纂器
方式/
1今日小编在进修tp5模子操作的过程中 , 碰到了一个错误
在这里记实一下 , 若是大师也碰到了这样的问题 , 可以按照小编的提醒进行bug调试 。
2代码:
$user = new User;
$where = function($query){
$query->field(['phone'=>"手机号"])->where('id',1);
};
dump($user -> find($where));
返回错误信息:不撑持的数据表达式:手机号
文章插图
3按照提醒 , 错误的问题是发生在Mysql.php文件的第113行 。
那么我们就要找出文件所对应的代码
文章插图
4经由过程查抄发现 , 是因为正则表达式的问题 。
\w只匹配数字字母下划线 , 匹配不到汉字 。
所以我们要在正则表达式上加上汉字匹配
if ($strict && !preg_match('/^[\w\.\*\x00-\xff]+$/', $key)) {
throw new Exception('not support data:' . $key);
}
这样程序就可以正常运行了
文章插图
5或者利用别的一种起别号方式
$user = new User;
$where = function($query){
$query->field('phone as 手机号')->where('id',1);
};
dump($user -> find($where)->getData());
成果与上一类别名体例一样
6tp框架应用Trace默认是封闭状况
我们点窜
'app_trace' => true,
在执行代码的时辰右下角会有一个图标
文章插图
7点击右下角图标
我们就能查看应用执行的SQL、错误信息等东西
【Thinkphp5 中字段别名是汉字报错的解决办法】便利我们进行项目调试
文章插图
注重事项处处是bug , 一个bug一个坑 。
以上内容就是Thinkphp5 中字段别名是汉字报错的解决办法的内容啦 , 希望对你有所帮助哦!
推荐阅读
- 工业级串口服务器在新基建中的作用
- 茶与宗教简述
- 敬、和、清、寂"的日本茶道
- 中韩茶道专家齐聚成都切磋“无相禅茶
- 从神农时期到隋朝,酝酿中国茶道
- Excel表格中插入日期与时间
- 如何从百度云上下载文件到电脑中
- 巴西橙间食鸟中国有吗
- 巴西啡黄中国有吗
- Excel表格中如何高亮重复项