【问题标题】:Laravel Eloquent ORM relationship definitionLaravel Eloquent ORM 关系定义
【发布时间】:2013-10-15 16:01:19
【问题描述】:

我有模型ClearanceItem

每个许可都有一个特定的项目,但多个许可可以有相同的项目。 从结构上讲,这只是意味着 Clearance 有一个 item_id 列。

所以在模型中,我将clearance 定义为hasOne('Item');,将item 定义为belongsToMany('Clearance')

但是当我调用项目时,它给了我错误clearance_item 不存在,所以我想我一定是定义了错误的关系。我尝试使用 belongsTo (假设很多人会触发想要一个连接表),我得到了一些东西,但不是这些项目在返回数据中没有许可

【问题讨论】:

    标签: orm laravel eloquent


    【解决方案1】:

    也许应该是:

    class Clearance extends Eloquent
    {
     public function item()
     {
       return $this->belongsTo('Item');
     }
    
    }
    
    class Item extends Eloquent
    {
     public function clearances()
     {
        return $this->hasMany('Clearance');
     }
    }
    

    你试过了吗?您也可以再次通过docs 来查看关系是如何定义的

    【讨论】:

      猜你喜欢
      • 2014-03-12
      • 2015-01-21
      • 1970-01-01
      • 2015-04-16
      • 2015-04-04
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      相关资源
      最近更新 更多