laravel 数据库操作

laravel 数据库操作

DB

1、添加

  • insert([]):可以同时添加一条或多条,返回值是布尔类型
  • insertGetId([]):只能添加一条数据,返回自增的id

2、更新

  • update([]):更新数据
  • increment('age'); 每次+1,age为字段名
  • increment('age,5'); 每次+5
  • increment('age'); 每次-1
  • increment('age',5); 每次+5

3、查询

  • get():查询所有数据
  • first():查询1条记录
  • value('name'):查询某个字段
  • select('name as user_name'):查询指定字段
  • orderBy('id','desc'):排序
  • ->limit(3)->offset(2):分页,limit:表示限制输出的条数,offset:从什么地方开始

4、删除

  • DB::table('table_name')->where('id','1')->delete(); //删除1条记录
  • DB::table(‘member’) -> truncate(); //清空整个数据表

5、执行sql

  • DB::statement("insert into member values(null,'')"); //执行任意的insert update delete语句

  • DB::select("select * from member"); //执行任意的select语句

关联模型

1、创建模型

php artisan make:model Home/User

2、模型类

class User extends Model
{
    protected $table = 'user'; //定义表名
    protected $primaryKey = 'id'; //默认为id 非id需要指定
    public $timestamps = false; //定义禁止操作时间
    protected $hidden = ['password']; //隐藏字段,如密码等敏感信息
    protected $fillable = ['id','name','age']; //设置允许写入数据的字段
    protected $casts = [ 'is_admin' => 'boolean', ];//属性转换
    //支持的转换类型:integer, real, float, double, string, boolean, object,array,collection,date
}

3、添加

//方式一
$user = new User();//实例化模型
$user->name = 'zs';
$user->age = 20;
$user->save();//保存

//方式二
User::create([]);

4、查询

User::find(1);//查询1条数据
User::where("id",'>',4)->first();//查询指定条件的1条数据

//查询多行并且指定字段
User::all()    
User::all([字段1,字段2])     //与get方法的区别,all不支持连接其他的辅助查询方法

//相当于get方法
User::get()    
User::get([字段1,字段2])

//按条件查询指定多个字段
User::where('id','>',2)->get([' 列 1',' 列 2']); //数组选列
User::where('id','>',2)->select('列1','列2')->get(); //字符串选列
User::where('id','>',2)->select( [' 列 1',' 列 2'] )->get(); //数组选列

5、更新

//方式一,同添加类似
$user = User::find($id); 
$user->name = 'zs';
$user->age = 20;
$user->save();//保存

//方式二,使用DB的update
//update([]):更新数据

总结:

在DB::table中能使用的方法,在模型中同样可以使用。
DB::table('user') 等价于 User模型

posted @ 2019-12-06 15:27  pine007  阅读(557)  评论(0编辑  收藏  举报