1、安装
composer require topthink/think-orm
2、使用
新增数据库配置文件 Applications/config/database.php
<?php
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
'type' => 'mysql',
'hostname' => '127.0.0.1',
'database' => 'database',
'username' => 'username',
'password' => 'password',
'hostport' => '3306',
'params' => [],
'charset' => 'utf8mb4',
'prefix' => '',
'deploy' => 0,
'rw_separate' => false,
'master_num' => 1,
'slave_no' => '',
'fields_strict' => true,
'break_reconnect' => true, // 是否需要断线重连
'trigger_sql' => false,
'fields_cache' => false,
],
],
];
在之前的队列测试文件中测试数据库使用
<?php
use think\facade\Db;
use app\model\Admin;
use Workerman\Worker;
use Workerman\RedisQueue\Client;
$queue_config = require __DIR__ . '/../config/queue.php';
$database_config = require __DIR__ . '/../config/database.php';
$worker = new Worker();
$worker->name = 'StartQueueWorker';
$worker->count = 1;
$worker->onWorkerStart = function () use ($queue_config, $database_config) {
Db::setConfig($database_config);
$client = new Client($queue_config['type'].'://'.$queue_config['host'].':'.$queue_config['port'], [
'auth' => $queue_config['password'], //密码
'db' => $queue_config['select'], //数据库db
'max_attempts' => $queue_config['max_attempts'], //消费失败后重试次数
'retry_seconds' => $queue_config['retry_seconds'], //重试时间间隔
]);
$client->subscribe('user-1', function($data){
$admin = Db::name('admin')->find(1); //测试代码
// $admin = Admin::find(1); //或者使用模型
var_dump($admin);
printf(json_encode($data, JSON_UNESCAPED_UNICODE));
echo "\n\n";
});
};