首頁 > 問答 > 主體
依照影片的方法:-> field(['name' => "姓名", 'salary'] )
會提示不支援的資料表達式,如果將「姓名」改成英文或使用「field('name as 姓名, salary')」就沒有問題。
請問一下是什麼原因呢?
天蓬老师2018-12-07 13:49:57
可以用字串直接設定別名
恩,字串沒有問題,就是這個陣列模式設定有問題。看了一下好像是框架原始碼的問題,正規表示式只過濾了英文字元。後面把框架裡library/think/db/build/Mysql.php 中的這行: if ($strict && !preg_match('/^[\w\.\*]+$/', $key)) { 改成了: if ($strict && !preg_match('/^[\x{4e00}-\x{9fa5}\w\.\*]+$/u', $key)) { 就可以了。
但是看你影片教學裡是直接用陣列就沒有問題,不知道你是怎麼設定的:)