Laravel和多态

时间:2014-04-04 14:38:04

标签: php orm laravel

我尝试了第一个多态关系,并设法记录了我认为我的支点。

我有一个基本的“品牌”,如耐克或飞利浦,“Valeur”作为质量或合规性和经典的“用户”基础。

我还有一个“贵重物品”,它应该包含用户的“品牌”的输入值,因此我是数据库的结构:

id
valeur_id (integer)
user_id (integer)
valuable_id (integer)
valuable_type (string)

凭借我的小知识,我可以保存一个具有正确品牌价值但不是用户身份的条目。

价值模型

public function brand ( $user )
{
    return $this->morphedByMany(' Brand', ' valuable ');
}

品牌模型

public function valeur()
{
    return $this->morphToMany( 'Valeur ', ' valuable ');
}

我记录下这样的条目:

Brand::where( 'slug', $search)->first();
$id = Auth::user()->id;
$valeur = Valeur::find(3);

$brand->valeur()->save( $valeur );

我想“只是”关联的valeur - >拥有用户ID的品牌,你能帮我吗?

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以将数组作为第二个参数传递给save,并将数据存储在数据透视表中:

$brand->valeur()->save($valeur, array('user_id' => $id));