你好在我的流明应用程序中我创建了几个用户,我想用它来在我的服务器上执行测试事务,目前测试数据库事务与实际记录混合在一起,这在删除时真的很痛苦。
我想要做的是检查用户执行操作时如果他们是测试用户,应该切换到我的test_db并将数据保存在那里。我想知道如何做到这一点,有没有办法在模型中执行此操作,以便根据登录用户的角色选择要保存的数据库?
答案 0 :(得分:1)
我会为此创建一个中间件,并根据角色有条件地设置数据库配置。
If (auth()->user->role === 'test') {
config(['database.connection.default' => [...test connection config]]);
}
在请求生命周期的早期执行此操作。
答案 1 :(得分:1)
在您的模型中,您可以定义用于该模型的数据库;
fout = data['tweetText'].str.extractall('#')
或者,如果您在控制器上运行期间使用多个连接,则在您的模型上设置一个更改连接的功能
protected $connection = 'connection1';
在控制器中你可以这样做:
public function changeConnection($conn)
{
$this->connection = $conn;
}
另一种解决方案是使用中间件