* 遷移:創建數據表和刪除數據表的操作;
* 遷移文件的位置: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();