首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Fuel PHP - ORM -有很多,属于

Fuel PHP - ORM -有很多,属于
EN

Stack Overflow用户
提问于 2013-01-11 21:28:45
回答 2查看 938关注 0票数 2

我有关系问题(笑)..。是ORM的问题。

我有两个模型'Item‘和'Offer’。一个项目可以有多个优惠-所以优惠属于项目。但是,优惠也有一个不同的项目。

以下是我的(简化)项目模型:

代码语言:javascript
运行
复制
class Model_Item extends \Orm\Model
{

  protected static $_belongs_to = array('user', 'offer');
  protected static $_has_many = array('offers');

  protected static $_properties = array(
    'id',
    'user_id',
  );

}

以下是我的(简化)报价模型:

代码语言:javascript
运行
复制
class Model_Offer extends \Orm\Model
{
protected static $_belongs_to = array('item');
protected static $_has_one = array('item');

protected static $_properties = array(
  'id',
  'item_id',
  'owneditem_id', // <- THIS IS THE ITEM IT OWNS
  );
}

正如您所看到的,我需要能够在offer模型中保存“owning”项,以及它“拥有”的项,但我不能重新声明item_id,因为它已经被offer的所有者占用。我如何告诉Fuel和ORM owneditem_id是一个item对象?

EN

Stack Overflow用户

发布于 2013-01-12 04:08:54

我终于得到它了!

提供关系:

代码语言:javascript
运行
复制
protected static $_has_one = array(
        //(offered item)
        'offereditem' => array(
            'key_from' => 'offereditem_id',
            'model_to' => 'Model_Item',
      'key_to' => 'id',
      'cascade_save' => true,
      'cascade_delete' => false,
        )
    );

和项目模型关系:

protected static $_belongs_to =数组(‘user’,'item');protected static $_has_many = array('offers');

使用迁移:

代码语言:javascript
运行
复制
//Add OfferedItem to Offers Migration
oil generate migration add_offereditem_to_offers offereditem:int

//Rename OfferedItem to OfferedItem_ID in Offers Migration
oil generate migration rename_field_offereditem_to_offereditem_id_in_offers
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14279204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档