我在laravel 5.4中有一段感情,
用户模型中的
public function phones()
{
return $this->hasMany(UserPhone::class);
}
在UserPhone模型中
public function user()
{
return $this->belongsTo(User::class);
}
现在如果从表格我输入多个电话记录如下:
<input type="text" name="phone[]">
<input type="text" name="phone[]">
<input type="text" name="phone[]">
那么, 如何为目前在laravl5.4中登录的特定用户存储这些电话?
答案 0 :(得分:0)
试试这个
$user = User::find($id) ;
$user->phones()->saveMany([
new UserPhone(['phone'=> Input::get('phone')[0] ]) ,
new UserPhone(['phone'=> Input::get('phone')[1] ]),
...
]);
答案 1 :(得分:0)
$contact = [];
foreach ($current_user_contact->phone as $key => $value) {
array_push($contact, new UserPhone(['phone' => $value]));
}
$current_user->phones()->saveMany($contact);
没有for循环我找不到解决它的方法,不得不采用上面提到的方式..它与Milad提到的相同
答案 2 :(得分:0)
$newUser = User::findOrFail(1);
$phones = [
['phone' => '111111111'],
['phone' => '111111112'],
['phone' => '111111113'],
['phone' => '111111114'],
];
foreach ($phones as $phone) {
$phone = new UserPhone($phone);
$phone->user()->associate($newUser);
$phone->save();
}