迁移和填充

迁移:创建数据表和删除数据表的操作;

  • 迁移文件的位置: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()
{
d a t a = [ [ ′ n a m e ′ = > ′ 姓 名 ′ ] , ] ; / / 写 入 数 据 , 建 议 使 用 D B 方 法 D B : : t a b l e ( ′ p a p e r ′ ) − > i n s e r t ( data = [ [ 'name' => '姓名' ], ]; //写入数据,建议使用DB方法 DB::table('paper')->insert( data=[[name=>],];//使DBDB::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());
m o d e l − > c r e a t e ( model->create( 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();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值