Laravel 框架 (數據表的遷移和填充)


* 遷移:創建數據表和刪除數據表的操作;

  * 遷移文件的位置:database/migrations

  * 創建遷移文件php artisan make:migration 遷移文件名

    php artisan make:migration create_paper_table //創建表

  * 編寫遷移文件

 // 創建表
public function up()
    {
        Schema::create('paper', function (Blueprint $table) {
          // $table->列類型方法(字段名,[長度/值范圍])->列修飾方法();
            $table->bigIncrements('id');
            $table->timestamps();
        });
    }
    // 刪除表
    public function down()
    {
        Schema::dropIfExists('paper');
    }

運行遷移

   * 當前項目第一次執行遷移文件:php artisan migrate:install 生成一個遷移表(高版本可以省略)

   * 需要執行up()方法:php artisan migrate

   * 需要執行down()方法:php artisan migrate:rollback;刪除的是同批次;最新批次的表;

填充:往數據表了填充寫入測試數據;

  * 填充器位置:database/seeds

  * 創建填充器:php artisan make:seeder 填充器名稱【大寫表名+TableSeeder】

  * 編輯填充器:

 public function run()
    {
        $data = [
          [
            'name' => '姓名'
          ],
        ];
        //寫入數據,建議使用DB方法
        DB::table('paper')->insert($data);
    }

 * 執行填充器文件:php artisan db:seed --class=PaparTableSeeder

 

模型操作(Eloquent ORM)

Eloquent ORM是一個優美簡潔的ActiveRecord實現數據庫操作,每個數據的表都對應模型model

創建模型

php artisan make:model 模型文件名
# 分目錄的
php artisan make:model Models/Member
# 創建模板並生成遷移文件
php artisan make:model Models/Article –m
-m 生成遷移文件

php artisan make:model member  

每張數據表都對應一個與該表進行交互的“Model模型”;  

建議分目錄進行管理

* 建立好模型后,將模型與表進行對應:

  * (必選)$table屬性,如果不指定默認對應復數表member-----members

  * (可選)$primaryKey屬性,主鍵名稱,

  * (可選)$timestamps屬性,false;如果不設置false,會生成created_at和updated_at字段

  * (可選)$fillable屬性,插入數據時,允許插入數據庫的字段

* 控制器中引入模型:

use 命名空間\模型名;

* 使用方法:

  * Member::get();
  * $model = New Member(); $model->get();

* 添加操作:

  $model = New Member();
  $model->age = '21'; //字段賦值
  $model->save(); //保存記錄

 * 使用creat方法

  Member::create($request->all());
  $model->create($request->all());

* request類的使用,需要通過形參的方式接受;與input方法類似

public function test(Request $request){
    $request->all(); //
    $request->input('name');
    $request->only(['name1','name2']);
    $request->except(['name1','name2']);
    $request->has('name');
    $request->get('name');
  }

* 查詢操作

  * 通過主鍵獲取一條數據

 * 獲取指定條件的第一條數據

* 查詢多行並指定字段

 

* 修改操作

  * 首先通過find()方法查詢到此數據,然后修改之后save();

  * 使用update()方法;

 

* 刪除操作

  * 首先通過find()找到數據,然后使用delete()方法刪除;

  * 通過DB方法刪除也是可以

 Member::where('id',2)->delete();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM