雄辩的ORM | Laravel有很多(超过1个)关系

时间:2018-02-28 11:23:09

标签: php laravel eloquent

#1!

我是Laravel的使用者。问题是关于Eloquent中的关系。

项目可能包含1种或多于1种类型。

Item.php:

public function types() 
{
    return $this->hasMany('App\Type');
}

Type.php:

public function items() 
{
    return $this->belongsToMany('App\Item');
}

项目表:

id
name

输入表格

id
name

问题

我有4种类型。项目№1有2种类型,项目№2有1种类型。 我应该如何在数据库中存储项目类型?

1 个答案:

答案 0 :(得分:1)

您需要定义两个belongsToMany()关系。在Item模型中:

public function types() 
{
    return $this->belongsToMany('App\Type');
}

Type模型中:

public function items() 
{
    return $this->belongsToMany('App\Item');
}

另外,创建item_type数据透视表。

要使用此many-to-many relationship,请使用attach()detach()sync()方法。