代码之家  ›  专栏  ›  技术社区  ›  Ikke

在Kohana ORM中,将具有两个不同外键的表引用到同一个表

  •  1
  • Ikke  · 技术社区  · 15 年前
    table user:
    |id|name|employee_priority_id|user_priority_id|
    table priority:
    |id|name|
    

    如您所见,同一个表有两个外部字段。但是KohanaORM默认值会查找一个名为priority_id的字段,该字段不存在。

    有没有办法让KohanaOrm知道这两个字段是该表的外键?

    1 回复  |  直到 11 年前
        1
  •  2
  •   Lukman    15 年前

    您可以使用文档中的“别名”@ http://docs.kohanaphp.com/libraries/orm/advanced#aliasingenhancing_the_meaning_of_your_relationships

    因此,在您的案例中,您的用户模型是:

    class User_Model extends ORM {
        protected $belongs_to = array('employee_priority' => 'priority', 'user_priority' => 'priority');
    }
    

    顺便说一句,根据Kohana的约定,表名应该是复数形式,除非您重写$table_名称,例如:

    class Priority_Model extends ORM {
        protected $table_name = 'priority';
    }