Php 是否可以在不使用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

我在laravel 5.4有一段关系

在用户模型中

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();
    }