Laravel - 插入记录



我们可以使用 **DB** facade 和 **insert** 方法插入记录。insert 方法的语法如以下表格所示。

语法 bool insert(string $query, array $bindings = array())
参数
  • $query(string) − 在数据库中执行的查询
  • $bindings(array) − 要与查询绑定的值
返回值 bool
描述 对数据库运行插入语句。

示例

**步骤 1** − 执行以下命令以创建一个名为 **StudInsertController** 的控制器

php artisan make:controller StudInsertController --plain

**步骤 2** − 步骤 1 成功执行后,您将收到以下输出:

StudInsertController

**步骤 3** − 将以下代码复制到文件

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.';
   }
}

**步骤 4** − 创建一个名为 **resources/views/stud_create.php** 的视图文件,并将以下代码复制到该文件。

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>

**步骤 5** − 在 **app/Http/routes.php** 中添加以下行。

app/Http/routes.php

Route::get('insert','StudInsertController@insertform');
Route::post('create','StudInsertController@insert');

**步骤 6** − 访问以下 URL 以在数据库中插入记录。

https://127.0.0.1:8000/insert

**步骤 7** − 输出将显示在以下图像中。

Insert Record
laravel_working_with_database.htm
广告