Php 是否可以在不使用laravel 5.4中的环路的情况下存储特定用户的多个电话号码
我在laravel 5.4有一段关系 在用户模型中Php 是否可以在不使用laravel 5.4中的环路的情况下存储特定用户的多个电话号码,php,laravel-5.4,laravel-eloquent,Php,Laravel 5.4,Laravel Eloquent,我在laravel 5.4有一段关系 在用户模型中 public function phones() { return $this->hasMany(UserPhone::class); } 在用户电话模型中 public function user() { return $this->belongsTo(User::class); } 现在,如果从一个表格中输入多个电话记录,如: <input type="tex
public function phones()
{
return $this->hasMany(UserPhone::class);
}
在用户电话模型中
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的特定用户存储这些手机 试试这个
$user = User::find($id) ;
$user->phones()->saveMany([
new UserPhone(['phone'=> Input::get('phone')[0] ]) ,
new UserPhone(['phone'=> Input::get('phone')[1] ]),
...
]);
没有for循环,我就找不到解决它的方法,只能按照上面提到的方法去做。。与中提到的相同,您可以在保存手机的地方共享控制器吗?您只需创建一个模型函数作为
saveUserPhones(array$phone\u numbers)
,其中foreach将是最简单的解决方案,或者您可以合并它们并在数据库中另存为json
$contact = [];
foreach ($current_user_contact->phone as $key => $value) {
array_push($contact, new UserPhone(['phone' => $value]));
}
$current_user->phones()->saveMany($contact);
$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();
}