【问题标题】:Yii join tables on column other than PKYii 在 PK 以外的列上连接表
【发布时间】:2014-02-06 00:54:38
【问题描述】:

我正在使用Gallery Manager 扩展,它有一个与 GalleryPhotos 模型(gallery_photo.gallery_id FK 到 gallery.id)的一对多关系连接的 Gallery 模型。

我有一个 Products 模型,我想以一对一的关系加入到 Gallery 模型中。

如果我不想修改 Gallery 表(以添加 FK),我将如何定义这样的关系。 我考虑的一个选项是在我的 Products 表中添加一个 gallery_id 字段,该字段将指向 Gallery->id 但我将如何在我的 Products 模型文件中定义关系?

【问题讨论】:

    标签: activerecord yii


    【解决方案1】:

    鉴于我不想修改,我将如何定义这样的关系 Gallery 表(添加 FK)。我想到的一个选择是添加 指向我的 Products 表的 gallery_id 字段 Gallery->id 但我将如何定义我的产品中的关系 模型文件?

    如果您使用一对一关系作为情境方法,您可以这样做,但它会导致任何继承您的代码的开发人员想知道为什么原来的人会这样做。我觉得你现在没关系,所以我称之为situation method

    假设它是这样工作的:adding a gallery_id field to my Products table that would point to Gallery->id

    在产品型号的函数relations()

    'Gallery' => array(self::BELONGS_TO, 'Gallery', 'gallery_id')
    

    在 Gallery 模型的函数 relations()

    'Product' => array(self::HAS_ONE, 'Product', 'gallery_id'),
    

    【讨论】:

      猜你喜欢
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多