我正在尝试让我的应用程序切换数据源,具体取决于它是要从数据库写入还是读取数据源。不幸的是,我无法让它发挥作用。我猜我只是错过了一些小事。我创建了一个EventListener来捕获beforeSave事件,以便在写入时切换数据源。但实际的开关并不是不幸的。
我在CakePHP2中不知道它有点像魅力:-D
这是我目前的听众:
<?php
namespace MasterSlaveManager;
use Cake\Event\EventListenerInterface;
use Cake\Event\Event;
use Cake\Datasource\ConnectionManager;
use Cake\Database\Query;
class MasterSlaveManager implements EventListenerInterface {
public function implementedEvents() {
return [
'Model.beforeSave' => 'beforeSave',
'Model.afterSave' => 'afterSave',
];
}
public function beforeSave(&$event) {
$event->subject()->connection(ConnectionManager::get('master'));
}
public function afterSave() {
}
}
如果我正朝着正确的方向努力,我甚至不确定我现在是不是。