Laravel:如何创建自定义枢轴模型?

Rob*_*bin 6 php laravel laravel-4

我正在研究一个在User和之间有多对多关系的项目Club.这种关系有效,我可以通过以下方式获得相应的对象:$user->clubs.我命名的数据透视表memberships.我可以获得数据透视数据$club->pivot.memberships在迁移中为表定义了外键.

但是,我希望透视表由模型表示,以便我可以轻松更新Membership角色等属性(甚至可以添加Role模型Membership!)或status.

我在文档中看过" 定义自定义数据透视模型 ",但它说的对我不起作用,我得到:

ErrorException Argument 1 passed to Illuminate\Database\Eloquent\Model::__construct() must be of the type array, object given

我也看过这个如何做的描述,但它或多或少与上面相同.

Membership 模型:

class Membership extends Eloquent {

protected $table = 'memberships';

public function user()
{
    return $this->belongsTo('User');
}

public function club()
{
    return $this->belongsTo('Club');
}
}
Run Code Online (Sandbox Code Playgroud)

有没有人这样做过?

Rob*_*bin 3

一位 Reddit 用户建议在我的会员模型中进行扩展,从而解决了这个问题Pivot。我还必须添加->withPivot('status', 'role')->withTimestamps()用户和俱乐部模型中的关系声明。