在蛋糕2中,我可以使用此$ this-> setDataSource('database_name')设置它;并在Config \ database.php
中创建同名属性在CakePHP 3中,我在默认情况下在app.php中添加了一个额外的数据源但无法使用$ this-> setDataSource(在初始化中。我得到Unknown方法“setDatasource”。
答案 0 :(得分:4)
在CakePHP 3.x中,数据源是"连接"。您可以像这样设置连接on a table:
<div class="modal fade" id="CreateUserModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span></span>x</button>
<h4 class="modal-title">Create User</h4>
</div>
<form id="CreateUserForm">
<div class="modal-body">
<div class="row">
<div class="col col-lg-12">
<div class="form-group">
<label>Full Name</label>
<input type="text" name="Name" class="form-control" required />
</div>
</div>
<div class="col col-lg-12">
<div class="form-group">
<label>School</label>
<input type="text" name="School" class="form-control" required />
</div>
</div>
<div class="col col-lg-12">
<div class="form-group">
<label>Username</label>
<input type="text" name="UserName" class="form-control" value="GeneratedDefault" required />
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="btn-group pull-right">
<button type="button" class="btn btn-default btn-flat" data-dismiss="modal">Cancel</button>
<button type="submit" id="CreateUserBtn" class="btn btn-info btn-flat">Create User</button>
</div>
</div>
</form>
</div>
</div>
</div>
如果您希望表始终使用不同的连接,可以使用use Cake\ORM\TableRegistry;
use Cake\Datasource\ConnectionManager;
$connection = ConnectionManager::get('default');
$table = TableRegistry::get('Users');
$table->setConnection($connection);
挂钩进行设置。