Laravel - Aggiorna record

Possiamo aggiornare i record utilizzando il DB facciata con updatemetodo. La sintassi del metodo di aggiornamento è come mostrato nella tabella seguente.

Sintassi int update (stringa $ query, array $ bindings = array ())
Parametri
  • $ query (stringa) - query da eseguire nel database
  • $ bindings (array) - valori da associare alle query
ritorna int
Descrizione Eseguire un'istruzione di aggiornamento sul database.

Esempio

Osservare il seguente esempio per capire di più sull'aggiornamento dei record:

Step 1 - Esegui il comando seguente per creare un controller chiamato StudViewController.

php artisan make:controller StudUpdateController --plain

Step 2 - Dopo aver eseguito con successo, riceverai il seguente output -

Step 3 - Copia il seguente codice su file app/Http/Controllers/ StudUpdateController.php

app/Http/Controllers/StudUpdateController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StudUpdateController extends Controller {
   public function index() {
      $users = DB::select('select * from student');
      return view('stud_edit_view',['users'=>$users]);
   }
   public function show($id) {
      $users = DB::select('select * from student where id = ?',[$id]);
      return view('stud_update',['users'=>$users]);
   }
   public function edit(Request $request,$id) {
      $name = $request->input('stud_name');
      DB::update('update student set name = ? where id = ?',[$name,$id]);
      echo "Record updated successfully.<br/>";
      echo '<a href = "/edit-records">Click Here</a> to go back.';
   }
}

Step 4 - Crea un file di visualizzazione chiamato

resources/views/stud_edit_view.blade.php e copia il codice seguente in quel file.

resources/views/stud_edit_view.blade.php

<html>
   <head>
      <title>View Student Records</title>
   </head>
   
   <body>
      
      <table border = "1">
         <tr>
            <td>ID</td>
            <td>Name</td>
            <td>Edit</td>
         </tr>
         @foreach ($users as $user)
         <tr>
            <td>{{ $user->id }}</td>
            <td>{{ $user->name }}</td>
            <td><a href = 'edit/{{ $user->id }}'>Edit</a></td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

Step 5 - Crea un altro file di visualizzazione chiamato

resources/views/stud_update.php e copia il codice seguente in quel file.

resources/views/stud_update.php

<html>
   
   <head>
      <title>Student Management | Edit</title>
   </head>
   
   <body>
      <form action = "/edit/<?php echo $users[0]->id; ?>" method = "post">
         <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
      
         <table>
            <tr>
               <td>Name</td>
               <td>
                  <input type = 'text' name = 'stud_name' 
                     value = '<?php echo$users[0]->name; ?>'/>
               </td>
            </tr>
            <tr>
               <td colspan = '2'>
                  <input type = 'submit' value = "Update student" />
               </td>
            </tr>
         </table>
      </form>
   </body>
</html>

Step 6 - Add le seguenti righe in app/Http/routes.php.

app/Http/routes.php.

Route::get('edit-records','[email protected]');
Route::get('edit/{id}','[email protected]');
Route::post('edit/{id}','[email protected]');

Step 7 - Visita il seguente URL per aggiornare i record nel database.

http://localhost:8000/edit-records

Step 8 - L'output apparirà come mostrato nell'immagine seguente.

Step 9 - Fai clic sul link Modifica su qualsiasi record e verrai reindirizzato a una pagina in cui puoi modificare quel particolare record.

Step 10 - L'output apparirà come mostrato nell'immagine seguente.

Step 11 - Dopo aver modificato quel record, vedrai un prompt come mostrato nell'immagine seguente.