Bitte, etwas Hilfe Ich versuche eine andere Möglichkeit, eine bestimmte Zeile zu aktualisieren. Ich versuche es mit Models, ich habe meinen ersten Versuch gepostet. Das ist nicht gut ... Die andere Option ist, jede Spalte zu aktualisieren, aber es wird nützlich sein, andere Ideen oder Optionen zu haben ...

Route::put('/usuario/{fk_id_tid}/{ident}', function (Request $request, $fk_id_tid, $ident) {

$validator = Validator::make($request->all(), [
    'ident' => 'required|digits_between:5,12',
    'fname' => 'required|max:20',
    'mname' => 'required|max:20',
    'lname' => 'required|max:20',
    'lname2' => 'required|max:20',
    'email' => 'email',
    'telefono' => 'min:7',
    'celular' => 'min:10',
]);

if ($validator->fails()){
    return redirect('/usuarios')
        ->withErrors($validator)
        ->withInput();

}        

$user =  DB::table('usuario')->where('fk_id_tid', $fk_id_tid)->where('ident', $ident)->first();  
$user->fk_id_tid = $request->id_tid;
$user->ident = $request->ident; 
$user->fname = $request->fname;
$user->mname = $request->mname;
$user->lname = $request->lname;
$user->lname2 = $request->lname2;
$user->email = $request->email;
$user->telefono = $request->telefono;
$user->celular = $request->celular;

$user->save();

return redirect('/usuarios');

});

Die Informationen der Spalten werden mit einer Post-Methode geliefert.

Vielen Dank für jede Hilfe ...

1
Richard Camilo Saavedra Coneo 18 Apr. 2018 im 10:14

4 Antworten

Beste Antwort

Versuche dies. Hoffe es wird dir helfen. Danke.

$updateDetails=array(
  'fk_id_tid' => $request->id_tid;
  'ident'     => $request->ident; 
  'fname' => $request->fname;
  'mname' => $request->mname;
  'lname' => $request->lname;
  'lname2' => $request->lname2;
  'email' => $request->email;
  'telefono' => $request->telefono;
  'celular' => $request->celular;
);

DB::table('usuario')
    ->where('fk_id_tid', $fk_id_tid)
    ->where('ident', $ident)
    ->update($updateDetails);
0
Nikita 18 Apr. 2018 im 10:13

Der andere Weg ist

$user =  DB::table('usuario')->where('fk_id_tid', $fk_id_tid)->where('ident', $ident)->first();  

$user->fk_id_tid = $request->id_tid;

if($request->ident)
{
  $user->ident = $request->ident;
} 

......

if($request->celular)
{
   $user->celular = $request->celular;
}

$user->save();

Dies aktualisiert bestimmte Spalten abhängig von den Eingaben

0
Rajeev Radhakrishnan 18 Apr. 2018 im 07:25

Verwenden Sie die nächste Syntax, anstatt abzurufen und zu speichern:

DB::table('usuario')
    ->where('fk_id_tid', $fk_id_tid)
    ->where('ident', $ident)
    ->update([
        'mname' => $request->mname,
        'lname' => $request->lname2,
        'email' => $request->email,
        'telefono' => $request->telefono,
        'celular' => $request->celular,
    ]
);
0
mnv 18 Apr. 2018 im 07:26
 DB::table('usuario')
   ->where('fk_id_tid', $fk_id_tid)
   ->where('ident', $ident)
   ->update([
    'mname' => $request->mname,
    'lname' => $request->lname2,
    'email' => $request->email,
    'telefono' => $request->telefono,
    'celular' => $request->celular,
  ]
);

Oder Sie können das Modell verwenden, definieren Sie einfach Ihr ausfüllbares Feld im Modell und schreiben Sie eine Abfrage wie diese.

       Usuario::where('fk_id_tid', $fk_id_tid)
      ->where('ident', $ident)
    ->update([
    'mname' => $request->mname,
   'lname' => $request->lname2,
  'email' => $request->email,
  'telefono' => $request->telefono,
  'celular' => $request->celular,
   ]
);

// Verwenden Sie Ihren Modellnamen, definieren Sie Ihr gesamtes Feld im Modell wie

public $fillable = ['add your all filable field here'];
0
Kuldeep Mishra 18 Apr. 2018 im 07:43