В laravel, как супер пользователь, чтобы обновить конкретного пользователя с идентификатором пользователя

Здесь перечислены элементы массива

: number [] = [];

1
задан Teasel 28 March 2019 в 10:22
поделиться

3 ответа

Есть несколько вариантов:

Вот один из них:

if (empty($user_id) ){
      User::create([
         'name' => $data['name'],
         'lastname' => $data['lastname'],
         'email' => $data['email'],
         'mobile' => $data['mobile'],
         'role' => $data['role'],
         'password' => Hash::make($data['password']),                    
      ]);

} else{                                                       
      User::where('id', $user_id)->update([
         'name' => $data['name'],
         'lastname' => $data['lastname'],
         'email' => $data['email'],
         'mobile' => $data['mobile'],
         'role' => $data['role'],
         'password' => Hash::make($data['password']),                    
      ]);     
}

Другой способ будет:

 User::find($user_id)->fill([
    'name' => $data['name'],
    'lastname' => $data['lastname'],
    'email' => $data['email'],
    'mobile' => $data['mobile'],
    'role' => $data['role'],
    'password' => Hash::make($data['password']),                    
 ])->save();

Первый способ - это обновление за один раз. запрос выполняется быстрее, но второй способ вызовет события модели, такие как saving и updating, поэтому выберите то, что вам нужно.

0
ответ дан apokryfos 28 March 2019 в 10:22
поделиться

Вы можете попробовать:

$user= User::firstOrCreate(
['unique_field_name' => 'value'], 
['name' => $data['name'],
'lastname' => $data['lastname']]

);

уникальное имя поля в качестве адреса электронной почты, идентификатора пользователя или номера мобильного телефона, которые являются уникальными полями в вашей базе данных

0
ответ дан Surender Singh Rawat 28 March 2019 в 10:22
поделиться
User::updateOrCreate(array('user_id' => $user_id), [
    'name' => $data['name'],
    'lastname' => $data['lastname'],
    'email' => $data['email'],
    'mobile' => $data['mobile'],
    'role' => $data['role'],
    'password' => Hash::make($data['password']),    
]);
0
ответ дан Manisha 28 March 2019 в 10:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: