如何在 Cake 3 的 Table 模型文件中设置数据源?

How to set Data source within Table Model file In Cake 3 ?

在蛋糕 2 中,我可以用 $this->setDataSource('database_name'); 来设置它。并在 Config\database.php

中创建同名的 属性

在 CakePHP 3 中,我在 app.php 中默认添加了一个额外的数据源,但无法在初始化中使用 $this->setDataSource(。我得到未知方法 "setDatasource"。

在 CakePHP 3.x 中,数据源是 "connections"。您可以像这样设置连接 on a table

use Cake\ORM\TableRegistry;
use Cake\Datasource\ConnectionManager;

$connection = ConnectionManager::get('default');
$table = TableRegistry::get('Users');
$table->setConnection($connection);

如果您希望 table 始终使用不同的连接,您可以使用 initialize 挂钩进行设置。

你也可以set the connection for a specific query.