模块与模块验证中数据库不一致的问题

浏览:176 发布日期:2021/09/29 分类:ThinkPHP5专区 关键字: TP5 模块 模块验证 验证唯一 数据库
项目中用到了多个不同的数据库,多个模块单独设置了数据库链接和表,但在使用模块的验证功能时出现了验证数据库与模块数据库不一样的问题。

首先在database中配置了数据库db01和表前缀 aaa_,然后个模块 M1,在M1模块中通过connection设置链接了另一个数据库配置DB02和通过$table设置了表user。
class User extends Model
{
// 表名
protected $table = 'user';

public function __construct($data = [])
{
$this->connection = [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => 'xxx.xxx.xxx.xxx',
'hostport' => 3306,
// 数据库名
'database' => 'DB02',
// 数据库用户名
'username' => 'xxx',
// 数据库密码
'password' => 'xxx',
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
];
parent::__construct($data);
}
}
然后使用模块的验证功能,设置为
protected $rule = [
'username'=>'require|unique:user'
];

在验证的时候报错了,'db01.aaa_user' doesn't exist

M1模块已经设置了数据库DB02和表user,但在验证时却是去找database中配置的内容,请问是我哪里没有设置对吗?还是需要用其他办法?
最佳答案
评论( 相关
后面还有条评论,点击查看>>