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

时间:2017-08-14 18:15:21

标签: php cakephp cakephp-3.0

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

中创建同名属性

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

1 个答案:

答案 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); 挂钩进行设置。

您也可以set the connection for a specific query