Laravel - Insertar registros

Podemos insertar el registro usando el DB fachada con insertmétodo. La sintaxis del método de inserción se muestra en la siguiente tabla.

Sintaxis bool insert (cadena $ consulta, matriz $ vinculaciones = matriz ())
Parámetros
  • $ query (string) - consulta para ejecutar en la base de datos
  • $ bindings (matriz): valores para enlazar con consultas
Devoluciones bool
Descripción Ejecute una declaración de inserción en la base de datos.

Ejemplo

Step 1 - Ejecute el siguiente comando para crear un controlador llamado StudInsertController

php artisan make:controller StudInsertController --plain

Step 2 - Después de la ejecución exitosa del paso 1, recibirá el siguiente resultado -

Step 3 - Copie el siguiente código al archivo

app/Http/Controllers/StudInsertController.php

app/Http/Controllers/StudInsertController.php

<?php

namespace App\Http\Controllers;

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

class StudInsertController extends Controller {
   public function insertform() {
      return view('stud_create');
   }
	
   public function insert(Request $request) {
      $name = $request->input('stud_name');
      DB::insert('insert into student (name) values(?)',[$name]);
      echo "Record inserted successfully.<br/>";
      echo '<a href = "/insert">Click Here</a> to go back.';
   }
}

Step 4 - Crea un archivo de vista llamado resources/views/stud_create.php y copie el siguiente código en ese archivo.

resources/views/stud_create.php

<html>
   <head>
      <title>Student Management | Add</title>
   </head>

   <body>
      <form action = "/create" method = "post">
         <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
         <table>
            <tr>
               <td>Name</td>
               <td><input type='text' name='stud_name' /></td>
            </tr>
            <tr>
               <td colspan = '2'>
                  <input type = 'submit' value = "Add student"/>
               </td>
            </tr>
         </table>
      </form>
      
   </body>
</html>

Step 5 - Agregue las siguientes líneas en app/Http/routes.php.

app/Http/routes.php

Route::get('insert','[email protected]');
Route::post('create','[email protected]');

Step 6 - Visite la siguiente URL para insertar un registro en la base de datos.

http://localhost:8000/insert

Step 7 - La salida aparecerá como se muestra en la siguiente imagen.