Laravel:多对多,如何插入数据?

时间:2014-03-19 20:04:42

标签: php mysql laravel laravel-4

我在L4中第一次有了建立多对多关系的必要性。据我所知,到目前为止,我需要三张桌子......我有以下内容:

users
- id
- username
- ...

platforms
- id
- title
- ...

users_platforms
- platform_id
- user_id

我现在如何将数据插入users_platforms表?我有用户模型和平台模型。这两者应该如何相关......以及实际内容如何保存到相关表中?

hasMany关系中,我会创建一个新用户,然后像$user->something()->save($something)一样保存它,但我自然不能在这里做类似的事情。

思想?

1 个答案:

答案 0 :(得分:2)

拥有关系的用户模型:

class User extends Eloquent {

    public function platforms()
    {
        return $this->belongsToMany('Platform', 'users_platforms');
    }

}

你只需要attach

$platform = new Platform;
$platform->name = 'OSX';
$platform->save();

$user = User::find(1);

$user->platforms()->attach($platform->id);