我有一个用户表和一个帐户表。
此帐户表定义了用户可以拥有的帐户。
e.g。
帐户:
id| name
1 | library
2 | school
3 | maths
用户:
id| username
1 | username1
2 | username2
我现在有另一个表:users_accounts
user_id | account_id
我正在为要创建的新用户创建一个界面。在此页面上,我有基本的详细信息,但也有一个复选框列表(从帐户表创建)。复选框表示用户需要为其设置的帐户。
我想要做的是创建帐户时:
$user = User::create($input);
我还要将用户ID和他们需要设置的帐户添加到users_accounts表中。单个用户可以拥有多个帐户。
我可以使用数据透视表和belongsToMany吗?
长期来说:
$user = User::create($input);
loop through the checkboxes {
add a new row into the user_accounts table with the ticked checkboxes
}
答案 0 :(得分:1)
你快到了!
$user = User::create($input);
$userAccounts = array();
foreach ($checkboxes as $accountId) {
$userAccounts[] = new UserAccount(['account_id' => $accountId]);
}
$user->accounts()->saveMany($userAccounts);
文档: http://laravel.com/docs/5.0/eloquent#inserting-related-models