迁移:创建数据表和删除数据表的操作; * 迁移文件的位置:database/migrations *创建迁移文件:php artisan make:migration 迁移文件名 php artisan make:migration create_paper_table //创建表 *编写迁移文件:
//创建表publicfunction up() { Schema::create(‘paper’, function (Blueprint KaTeX parse error: Expected '}', got 'EOF' at end of input: table) {//table->列类型方法(字段名,[长度/值范围])->列修饰方法();$table->bigIncrements(‘id’); $table->timestamps(); }); }//删除表publicfunction down() { Schema::dropIfExists(‘paper’); }
运行迁移: * 当前项目第一次执行迁移文件:php artisan migrate:install 生成一个迁移表(高版本可以省略) * 需要执行up()方法:php artisan migrate * 需要执行down()方法:php artisan migrate:rollback;删除的是同批次;最新批次的表;填充:往数据表了填充写入测试数据; * 填充器位置:databaseeds * 创建填充器:php artisan make:seeder 填充器名称【大写表名+TableSeeder】 * 编辑填充器:
publicfunction 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′=>′姓名′],];//写入数据,建议使用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模型”; 建议分目录进行管理* 建立好模型后,将模型与表进行对应: * (必选) t a b l e 属 性 , 如 果 不 指 定 默 认 对 应 复 数 表 m e m b e r − − − − − m e m b e r s ∗ ( 可 选 ) table属性,如果不指定默认对应复数表member-----members * (可选) table属性,如果不指定默认对应复数表member−−−−−members∗(可选)primaryKey属性,主键名称, * (可选) t i m e s t a m p s 属 性 , f a l s e ; 如 果 不 设 置 f a l s e , 会 生 成 c r e a t e d a t 和 u p d a t e d a t 字 段 ∗ ( 可 选 ) timestamps属性,false;如果不设置false,会生成created_at和updated_at字段 * (可选) timestamps属性,false;如果不设置false,会生成createdat和updatedat字段∗(可选)fillable属性,插入数据时,允许插入数据库的字段* 控制器中引入模型:use 命名空间\模型名;* 使用方法: - Member::get();* $model = New Member(); $model->get();* 添加操作:
$model =New Member(); m o d e l − > a g e = ′ 2 1 ′ ; / / 字 段 赋 值 model->age ='21';//字段赋值 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方法类似
publicfunction test(Request $request){ r e q u e s t − > a l l ( ) ; / / request->all();// 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();