创建一个对象的多个实例

时间:2018-12-27 08:55:52

标签: php laravel laravel-5

我目前正在学习laravel并坚持做作业。我有一个程序,其中用户将有多个白板可以在其中张贴他的笔记。我要实现的是创建用户时应创建4个不同的白板。

这适用于创建1个白板,但不确定在创建用户时如何实现4个。我建立了关系,每个用户可以拥有多个白板,每个白板将只有一个用户。

protected function create(array $data)
{
    $whiteboard = Whiteboard::create([
        'username' => $data['username'],
        'name'     => $data['name'],
    ]);
    return User::create([
        'email'       => $data['email'],
        'password'    => bcrypt($data['password']),
        'whiteboard_id' => $whiteboard->id,
    ]);
}

我希望像这样(只是一个虚拟的例子)-

用户A应该创建的ID为1,2,3,4的白板
用户B应该创建了ID为5、6、7、8的白板

1 个答案:

答案 0 :(得分:1)

您可以做这样的事情,

protected function create(array $data)
{
    $user = User::create([
        'email'       => $data['email'],
        'password'    => bcrypt($data['password']),
    ]);
    for($i=0; $i<=3; $i++)
    {
      $whiteboard = Whiteboard::create([
        'username' => $data['username'],
        'name'     => $data['name'],
        'user_id'  => $user->id
      ]);
    }
    return $user;

}

在这种情况下,您必须更改您的用户(一个)白板(很多)