当前位置: 首页 > news >正文

二刷Laravel 教程(用户模型)总结Ⅲ

一、数据库迁移

当我们运行迁移时,up 方法会被调用;(创建表)
当我们回滚迁移时,down 方法会被调用。(删除表)

 public function up()
    {

//create 方法会接收两个参数:一个是数据表的名称,另一个则是接收 $table(Blueprint 实例)的闭包。
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

  public function down()
    {
        Schema::dropIfExists('users');
    }

补:

清理缓存重启服务
在命令行中进入程序根目录,执行下列语句。

php artisan cache:clear
php artisan config:clear
php artisan migrate

二、查看数据库表

三、模型文件

1)用户模型中定义的三个属性

   $casts(指定数据库字段使用的数据类型)
   $fillable(过滤用户提交的字段,只有包含在该属性中的字段才能够被正常更新。避免『批量赋值』的错误)
   $hidden(用户密码或其它敏感信息在用户实例通过数组或 JSON 显示时进行隐藏)

2)创建文章模型(Article)为例

>>>只创建模型(模型类名称使用  单数  形式来命名)

php artisan make:model Article

//删除模型

rm app/Models/Article.php

>>>创建模型的同时创建数据迁移

php artisan make:model Article -m

3)Eloquent表命名约定

「下划线命名法」与「复数形式名称」来作为数据表的名称生成规则

Article 数据模型类对应 articles 表;
User 数据模型类对应 users 表;
BlogPost 数据模型类对应 blog_posts 表;

四、创建用户对象

进入Tinker环境:

php artisan tinker

在Tinker里面创建一个用户对象:

//调用了一个叫 bcrypt 的方法,将 password 的值进行加密

App\Models\User::create(['name'=> 'Summer', 'email'=>'summer@example.com','password'=>bcrypt('password')])

五、查找用户对象

使用 use 来引用 App\Models\User Eloquent 模型类

use App\Models\User

六、更新用户对象(两种方法)

第一种是通过给用户对象属性进行赋值,赋值成功后再调用 save 方法进行保存更新;

1.$user = User::first()
2.$user->name = 'Monkey'
3.$user->save()     //保存,不保存显示的还是未修改之前的
4.User::first()

第二种则是直接调用 update 方法进行更新。(这个嘎嘎好,比第一个)

1.$user->update(['name'=>'Summer'])
2.User::first()

http://www.lryc.cn/news/274454.html

相关文章:

  • 安装PyTorch及环境配置(应用于Python上的YOLO)
  • 【194】PostgreSQL 14.5 编写SQL从身份证号中查找性别,并且更新性别字段。
  • 微服务管家:NestJS 如何使用服务发现 Consul 实现高效的微服务节点管理
  • Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为Mat图像格式(C++)
  • 铁塔基站数字化管理监测解决方案
  • 如何使用Python3 Boto3删除AWS CloudFormation的栈(Stacks)
  • 差分约束算法
  • 彻底解决vue-video-player播放视频有黑边
  • 区域负责人常用的ChatGPT通用提示词模板
  • Java Spring boot 可變參數,以及弊端
  • 机器视觉系统选型-线阵工业相机选型
  • 单机开机无感全自动进入B\S架构系统
  • 大一,如何成为一名fpga工程师?
  • MyBatisPlus学习三:Service接口、代码生成器
  • 产品经理如何选择城市?
  • 再谈“敏捷”与“瀑布”在产品开发过程中的反思
  • 设计模式② :交给子类
  • Hive 源码
  • 调整几行代码,接口吞吐提升 10 倍,性能调优妙啊!
  • MACOS Atrust服务异常
  • LLM大语言模型(四):在ChatGLM3-6B中使用langchain
  • Dubbo入门介绍和实战
  • 如何实现无人机识别功能
  • Python学习笔记(四)流程控制方法
  • 【Qt- C++ Qml 交互】
  • ubuntu 20.04 自由切换 python 的版本
  • 程序性能优化全能手册
  • LiveSIPB流媒体国网B接口功能-国网B接口服务安装使用说明
  • 利用小红书笔记详情API:为内容运营提供强大的支持
  • 地理空间分析1——入门Python地理空间分析