访问 cakephp3 控制器中的非关联表

Posted

技术标签:

【中文标题】访问 cakephp3 控制器中的非关联表【英文标题】:Access non associated tables in cakephp3 controller 【发布时间】:2018-05-27 12:59:29 【问题描述】:

我是 cakephp3 的新手,我正在尝试访问未链接到表 2 控制器中的“表 B”的“表 A”

我想在 UsersController 中使用用户类别表。如何实现?

例如

user table has three fields id, name, role
category table has 2 fields id, name
articles table has 3 fields id, user_id, category_id, article

【问题讨论】:

不是your other question 的直接复制品,而是相同的潜在问题和解决方案。 我说的是非关联表 具体来说,您想在用户控制器中使用类别表做什么? 【参考方案1】:

在您的控制器中,您可以使用loadModel() 加载另一个未链接到控制器默认模型的表。

class UsersController extends AppController 

    public function initialize() 
        parent::initialize();
        // You don't have to put it in initiliaze 
        // but if you want to use it in more than one method it's a good place
        $this->loadModel('Categories');
        $this->loadModel('Articles');
    

    public function index() 
        // Categories is now available as $this->Categories thanks to loadModel()
        $categories = $this->Categories->find()->select(['id', 'name']);
    


【讨论】:

以上是关于访问 cakephp3 控制器中的非关联表的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 3 - 保存前的数据关联

如何从 CakePHP 3 中的 ctp 文件访问控制器操作

CakePHP 3 连接表关联

CakePHP 3.6 控制器集成测试 - 未发送 HTTP 请求

Cakephp 3 保存关联属于ToMany

CakePHP 3 更新连接表中的数据