Вы можете удалить его из массива $dados
, если он пуст:
if (!empty($dados['password']))
$dados['password'] = Hash::make($dados['password']);
else
unset($dados['password']);
или с троичным оператором
!empty($dados['password'])? $dados['password'] = Hash::make($dados['password']): unset($dados['password']);
, и так как все имена полей совпадают с именами полей запрос и поле updated_at
должны заполняться автоматически, вам не нужно повторно собирать массив для обновления.
DB::table('users')->where('id', $dados['id'])->update($dados);
Если вы все равно хотите собрать массив, вы можете сделать так
$update_dados = [
'name' => $dados['name'],
'email' => $dados['email'],
'credencial' => $dados['credencial'],
'sobre' => $dados['sobre'],
'updated_at' => Carbon::now(),
];
if (!empty($dados['password']))
$update_dados['password'] = Hash::make($dados['password']);
DB::table('users')->where('id', $dados['id'])->update($update_dados);