不支持的数据表达式:姓名

按照视频的方法:-> field(['name' => "姓名", 'salary'] )

会提示不支持的数据表达式,如果将“姓名”改成英文或者使用“field('name as 姓名, salary')”就没有问题。


请问一下是什么原因呢?


1回答
Peter-Zhu
回复Peter-Zhu赞同03天前1楼

可以用字符串直接设置别名

  • 星星蓝蓝
    恩,字符串没有问题,就是这个数组模式设置有问题。看了一下好像是框架源码的问题,正则表达式只过滤了英文字符。后面把框架里library/think/db/build/Mysql.php 中的这行: if ($strict && !preg_match('/^[\w\.\*]+$/', $key)) { 改成了: if ($strict && !preg_match('/^[\x{4e00}-\x{9fa5}\w\.\*]+$/u', $key)) { 就可以了。
  • 星星蓝蓝
    但是看你视频教程里是直接用数组就没有问题,不知道你是怎么设置的:)
首页上一页1下一页尾页

PHP中文网

未登录