1.2、创建模型
php artisan make:model [目录名/]模型文件名
# 分目录的
php artisan make:model Models/Member
# 创建模板并生成迁移文件 实际工作中,就是创建模型同时就创建好了迁移文件
php artisan make:model Models/Article –m
-m 生成迁移文件
1.3、模型限制
1.3.1、定义表名($table)
模型所对应的默认表名是模型类名复数形式,如果表名不统一则需要指定一下。
// 指定表名
protected $table = 'member';
1.3.2、指定主键名($primaryKey)
laravel中默认的主键ID名为id,如果你创建的表字段中主键ID的名称不为id,则需要通过 $primaryKey 来指定一下。
// 指定主键的名称
protected $primaryKey = 'mid';
1.3.3、指定时间戳($timestamps)
默认情况下,模型操作会认为在你的数据库表有 created_at 和 updated_at 字段。如果你不希望让模型来自动维护这两个字段,可在模型内将 $timestamps 属性设置为 false。
// 时间戳 这里一定要注意它是用的public
public $timestamps = false;
1.3.4、批量赋值($fillable 与 $guarded)
当通过create方法来保存数据的时候,你需要先在你的模型上定义$fillable或 $guarded属性。
// 批量赋值
# 白名单
protected $fillable = ['允许添加的字段名'];
# 黑名单
protected $guarded = ['拒绝添加的字段名'];
// 模型操作
public function mdb(){
# 添加
# 方案1
/*$model = new Article();
$model->uid = 1;
$model->title = '我就是一条记录';
$model->cnt ='你好世界';
$model->save();
dump($model);
dump(get_class_methods($model));*/
# 方案2
/*$data = [
'uid'=>2,
'title'=>'php',
'cnt'=>'php是世界上最好的语言'
];
$data2 = [
[
'uid'=>3,
'title'=>'php',
'cnt'=>'php是世界上最好的语言'
],
[
'uid'=>4,
'title'=>'php',
'cnt'=>'php是世界上最好的语言'
]
];*/
# 返回布尔值 可以插入单条或者多条
// dump(Article::insert($data2));
// dump(get_class_methods(Article::class));
# 方案3
/*$data = [
'uid'=>2,
'title'=>'php',
'cnt'=>'php是世界上最好的语言'
];
dump(Article::created($data));*/
# 查询
// 查单条
// $ret = Article::where('id',1)->first();
// $ret = Article::find(1);
// dump($ret->toArray());
// 查询多条
// $ret = Article::all();
// $ret = Article::where('id','>',1)->get();
// 查询指定字段值
// $ret = Article::where('id',1)->value('cnt');
// 查询一列
// $ret = Article::pluck('title','id');
// 查询总记录数
# $ret = Article::count();
// 分页
// $ret = Article::offset(0)->limit(2)->get();
# 修改
# fang an 1
/*$model = Article::find(1);
$model->title = '我就是来修改你';
$model->save();*/
# fang an 2
/*$data = ['title'=>'马上就到了圣诞节'];
$model = Article::where('id',1)->update($data);
dump($model);*/
# 删除
/*$id = 1;
$model = Article::find($id);
dump($model->delete());*/
// dump(Article::destroy(2));
# 检索软删除
// $ret = Article::get()->toArray();
#$ret = Article::onlyTrashed()->get()->toarray();
# 恢复id为2的记录的数据
/*$model = Article::onlyTrashed()->where('id',2)->first();
dump($model->restore());*/
/*$data = [
'uid'=>2,
'title'=>'php',
'cnt'=>'php是世界上最好的语言'
];
// $data['ip'] = request()->ip();
Article::create($data);*/
}