• 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();
  • 相关阅读:
    Android上传文件到服务器(转)
    Android -- 利用Broadcast开启Service(转)
    【转】实践最有效的提高Android Studio运行、编译速度方案
    Android Studio3.x新的依赖方式(implementation、api、compileOnly)
    Drawable子类之——StateListDrawable (选择器)
    解决android studio引用远程仓库下载慢(JCenter下载慢)
    跳槽季,面试官:能接受加班吗?
    PHP 底层的运行机制与原理
    PHP程序员如何突破成长瓶颈
    VirtualBox启动虚拟机报错0x80004005
  • 原文地址:https://www.cnblogs.com/mmore123/p/12837682.html
Copyright © 2020-2023  润新知