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();

猜你喜欢

转载自www.cnblogs.com/ltl11230/p/12787325.html