zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    dedecmsV5.7和discuz!X3.4整合之后免激活登陆
    dedecms织梦文章微信分享带缩略图与简介
    关于PHP的mkdir函数
    关于discuz的fap.php 漏洞问题
    discuzX3.4安装之后,没有任何样式怎么办?
    阿里云 RDS for MySQL支持什么引擎
    PHP随机生成要求位数个字符(大小写字母+数字)
    PHP json_decode为什么将json字符串转成数组是对象格式?
    PHP实用的功能函数
    css实现三角形图标
  • 原文地址:https://www.cnblogs.com/mmore123/p/12837682.html
Copyright © 2011-2022 走看看