DB门面,查询构建器,Eloquent ORM三者的CURD
Posted 罗夏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB门面,查询构建器,Eloquent ORM三者的CURD相关的知识,希望对你有一定的参考价值。
一.DB门面 1.insert DB::insert(‘insert into table(`name`) value(?)‘, [‘test‘]); 2.update DB::update(‘update into table set name=? where id=?‘, [‘test‘, 10]); 3.delete DB::delete(‘delete from tb where id=?‘, [1]); 4.select DB:select(‘select * from tb‘); 二.查询构建器 1.insert DB::table(‘tb‘)->insert([‘name‘ => ‘test‘]); 2.update DB::table(‘tb‘)->where(‘id‘, 1)->update([‘name‘ => ‘test‘]); 3.delete DB::table(‘tb‘)->where(‘id‘, 1)->delete(); 4.select # 多条 DB::table(‘tb‘)->where(‘cat‘, 1)->orWhere(function($query){ return $query->where(‘vote‘, ‘>‘, 1); })->orderBy(‘id‘, ‘DESC‘)->select(‘name‘)->skip(5)->take(10)->get(); #一条 DB::table(‘tb‘)->where(‘cat‘, 1)->first(); #一列 DB::table(‘tb‘)->where(‘cat‘, 1)->value(‘col‘); 三.Eloquent ORM(本身就是查询构建器) 1.insert $model = new TbModel; $model->name = ‘test‘; $model->save(); 使用create,但需要模型限定fillable或guarded TbModel::create([‘name‘ => ‘test‘]); 2.update $model = TbModel::first(1); $model->name = ‘test‘; $model->save(); 带where并且只更新指定字段,和查询构建器一样 $model = TbModel::first(1); $model->where(‘time‘, today())->update([‘delayed‘=>1]); 3.delete TbModel::first(1)->delete(); TbModel::destory(1); Flight::where(‘id‘, 1)->delete(); 4.select #多条 TbModel::all(); TbModel::get(); #单条 TbModel::find(1); // 利用主键取回 如果查询条件带where,而且不是主键,则使用first TbModel::where(‘time‘, today())->first();
以上是关于DB门面,查询构建器,Eloquent ORM三者的CURD的主要内容,如果未能解决你的问题,请参考以下文章
从原始 SQL 到 Laravel Eloquent 或查询构建器
Laravel - 使用 Eloquent 查询构建器在选择中添加自定义列
Laravel Eloquent ORM 事务:为啥我们需要 ROLLBACK?