laravel-sql

下面都是项目中常用的查询方式,在官方文档上都有,主要是加入自己的想法,便于理解

latest最新的一条

Model::latest()->get();

 

 

检索某列

Model::pluck('name');

 

 

when 语法$a为真时执行第一条

when($a,function ($q){

    return $q->orderBy('id', 'asc');

}, function ($q) use ($a){

    return $q->orderBy($a, 'desc');

});

 

 

 

 

offset,limit (offset 设置从哪里开始,limit 设置想要查询多少条数据)

Model::offset(0)->limit(10)->latest()->get();

 

 

skip,take (sikip 跳过几条,take 取多少条数据)

Model::skip(3)->take(3)->get();

 

 

不能查找返回不重复的结果的,我们需要指定一下字段:

Model::select('name')->distinct()->get();

 

 

如果想要distinct多个字段,可以在select中添加字段名称;

但是要注意,当select多个字段,代表需要status与name都相同的才会被排除

Model::select('status','name')->distinct()->get();

 

 

一个查询构建器实例并且希望添加一个查询列到已存在的select子句

$query = DB::table('users')->select('name');

$users = $query->addSelect('age')->get();

 

 

 

Updates/delete/insert

 

->update(array('votes' => 1));

 

 

->delete();

 

 

DB::table('users')->insert([

    ['email' => 'taylor@example.com', 'votes' => 0],

    ['email' => 'dayle@example.com', 'votes' => 0]

]);

第二种

$user = new User();

$user->user = "张三丰";

$user->mobile = "183****8888";

$user->save;

这里可以取到添加的id   $user->id

 

 

 

 

 

 

 

这样获取刚刚添加的ID

$id = DB::table('users')->insertGetId(

array('email' => 'john@example.com', 'votes' => 0)

);

 

 

 

 

 

select

Model::where(name,'zhangsan')->first();  //查询单条

Model::where('id,>,0)->get(); // 查询所有

Model::all(); // 查询所有

->toArray(); //查询数据以数组形式展示

 

 

 

 

查询表中的 字段 类型 备注

使用前需要先执行 composer require doctrine/dbal

$columns = DB::getDoctrineSchemaManager()->listTableDetails($table);
$comment=$type=$name=[];
foreach ($columns->getColumns() as $column) {
    $comment[] .= $column->getComment();
    $type[] .= $column->getType()->getName();
    $name[] .=  $column->getName();
}

 

 

 

 

 

 

 

获取库中所有的表名

$database 这个是库名
$conn  = DB::connection($database);
$cols = $conn->select("select table_name from information_schema.tables where table_schema='".$database."' ");

可以循环获取表中的详情 字段 类型 备注

 

foreach ($cols as $v){
    $cols = $conn->select(" SHOW FULL FIELDS FROM  `".$v->table_name."`");
}

 

 

 

 

 

 

 

 

 

 

 

请勿转载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值