laravel 模型操作

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);*/
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值