迁移:创建数据表和删除数据表的操作;
-
迁移文件的位置: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()
{
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模型”;
建议分目录进行管理
-
建立好模型后,将模型与表进行对应:
-
(必选)$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());
m
o
d
e
l
−
>
c
r
e
a
t
e
(
model->create(
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();