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 |
|
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.