Laravel 4型号和数据透视表

时间:2014-04-17 16:18:15

标签: php laravel-4 eloquent

我正在使用我想在Laravel 4应用程序中引用的数据透视表。我有一个用户表,一个团队表和一个team_user表(数据透视)

数据透视表结构是:

id (primary key)
team_id (foreign key to team table)
user_is (foreign key to user table)
created_at
updated_at

在我的团队模型中,我想为队友建立一种关系。

public function teammates(){
    return $this->belongsToMany('????');
}

如何使用数据透视表显示用户的信息(first_name,last_name),以便我可以执行类似

的操作
@foreach($team->teammates as $teammate)
{{echo $teammate->first_name $teammate->last_name}}
@endforeach

2 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

public function teammates(){
    return $this->belongsToMany('User', 'team_user', 'user_id', 'team_id');
}

答案 1 :(得分:0)

如果你的密钥是默认的(id),那么:

public function teammates(){
    // belongsToMany (RelatedModel, table, thisModelKeyOnPivot, relatedModelKeyOnPivot)
    return $this->belongsToMany('User', 'team_user', 'team_id', 'user_id');
}