* 迁移:创建数据表和删除数据表的操作;
* 迁移文件的位置: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();