Laravel - Inserir Registros

Podemos inserir o registro usando o DB fachada com insertmétodo. A sintaxe do método de inserção é mostrada na tabela a seguir.

Sintaxe bool insert (string $ query, array $ bindings = array ())
Parâmetros
  • $ query (string) - consulta a ser executada no banco de dados
  • $ bindings (array) - valores para vincular a consultas
Devoluções bool
Descrição Execute uma instrução insert no banco de dados.

Exemplo

Step 1 - Execute o comando abaixo para criar um controlador chamado StudInsertController

php artisan make:controller StudInsertController --plain

Step 2 - Após a execução bem-sucedida da etapa 1, você receberá a seguinte saída -

Step 3 - Copie o seguinte código para o arquivo

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 - Crie um arquivo de visualização chamado resources/views/stud_create.php e copie o código a seguir nesse arquivo.

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 - Adicione as seguintes linhas em app/Http/routes.php.

app/Http/routes.php

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

Step 6 - Visite a seguinte URL para inserir o registro no banco de dados.

http://localhost:8000/insert

Step 7 - A saída aparecerá conforme mostrado na imagem a seguir.