二刷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()

相关推荐
fengkai45451 小时前
七、华为云网络综合实验 & 运维类及其他服务总结
服务器·开发语言·php
PHP实战开发录1 小时前
PHP日志写满磁盘后接口为什么异常
开发语言·系统架构·php·开发
妙码生花2 小时前
golang 应用服务端部署(使用 systemd 服务)
开发语言·人工智能·后端·golang·node.js·php·gin
PHP实战开发录9 小时前
PHP事务异常后为什么数据还写进去了
mysql·php·开发
隔窗听雨眠13 小时前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
三84413 小时前
PHP Session 反序列化(2):漏洞根因 —— 序列化处理器错位与对象注入
android·web安全·php·反序列化·session
秦老师Q14 小时前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
后台模板学习16 小时前
2026最新面试真题:到达用英语怎么说背后的逻辑与源码剖析
面试·职场和发展·php
少陽君18 小时前
Python 并发编程:IO 等待用线程/asyncio,CPU 计算才用进程
数据库·python·php
盛世宏博智慧档案20 小时前
高速 ETC 门架外场机房温湿度远程监测解决方案
服务器·数据库·php·高度·高速·温湿度