1、當使用生成介面 生成全局模型時, 生成的validate文件的namespace錯誤 應為 namespace app\common\validate;實際為 namespace app\api\validate;解決方法:1、找到 application/admin/library/buiap ...
1、當使用生成介面 生成全局模型時, 生成的validate文件的namespace錯誤
應為
namespace app\common\validate;
實際為
namespace app\api\validate;
解決方法:
1、找到
application/admin/library/buiapi/stubs/validate.stub 文件
命名空間修改為
namespace app\{%module_name%}\validate;
application/admin/library/buiapi/BuiApiTemp.php 文件
通過 54行左右
if (empty($key) && strpos($temp, "local=0") !== false) {
self::$data['model_path'] = 'common';
}
判斷是否啟用了全局模型
在215行左右
//替換模版內容
self::$data['module_name'] = 'api';
if (self::$data['model_path'] == 'common'){
self::$data['module_name'] = 'common';
}
foreach (self::$data as $key_data => $val_data) {
$index = str_replace("{%" . $key_data . "%}", $val_data, $index);
$model = str_replace("{%" . $key_data . "%}", $val_data, $model);
$validate = str_replace("{%" . $key_data . "%}", $val_data, $validate);
if ($key_data != 'controller_index') {
$controller = str_replace("{%" . $key_data . "%}", $val_data, $controller);
}
}
紅色為加入的代碼
結果:
生成的validate文件就在api或者common(在生成api介面時勾選了 - 全局模型類)命名空間下了。
2、在application/admin/library/buiapi/BuiApiTemp.php 文件的84行左右
$controller_path_msg 和 $validate_path_msg 反了,換一下位置即可。