【问题标题】:phalcon - three table relationshipphalcon - 三表关系
【发布时间】:2018-07-02 08:42:47
【问题描述】:

我有一个 phalcon 项目 (phalconphp.com)

我要创建一个3表关系用户-> user_roles

用户表:id、role_id

User_roles:id、user_id、role_id

角色:id、代码

我做到了:

Users.php

 $this->hasMany(
            'id',
            'UserRoles',
            'user_id'
        );

用户角色.php

$this->belongsTo(
        'user_id',
        'Users',
        'id'
    );

    $this->belongsTo(
        'role_type_id',
        'Roles',
        'id'
    );

Roles.php

$this->hasMany(
            'id',
            'UserRoles',
            'role_type_id'        
        );

我只想在我的控制器中:

$users = Users::find();

 foreach ($users as $user) {
            echo $user->id;
            echo $user->roles->code;
}

但是得到:访问未定义的属性 Users::roles

谁能帮我解决这个问题? 参考:https://docs.phalconphp.com/en/3.3/db-models-relationships

【问题讨论】:

    标签: php orm phalcon


    【解决方案1】:

    唯一的问题是,Phalcon 找不到我的表名(尽管它完全重写了 robots 示例)。

    我所要做的就是为关系中的表指定别名。

    【讨论】:

      【解决方案2】:

      @chazecka 关于 phalcon 关系的重要注意事项:

      它们使编码更容易,但是它们创建了大量的查询。如果您关心性能,请密切注意正在执行的查询数量,有时数量可能不是最佳的。在这种情况下,您可能需要使用连接和https://olddocs.phalconphp.com/en/3.0.1/api/Phalcon_Mvc_Model_Query_Builder.htmlhttps://docs.phalconphp.com/zh/3.3/db-phql

      【讨论】:

        猜你喜欢
        • 2016-01-27
        • 1970-01-01
        • 1970-01-01
        • 2019-06-15
        • 1970-01-01
        • 2019-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多