朱纯树博客
VPS测评推荐网站
cloudacead cloudacead

tp5 有点技巧性的sql语句

  1. in查询,默认会将查询的条件按数字正序排序,那我们不需要排序怎么办?

    $exp = new thinkdbExpression(‘field(id,’.implode(‘,’,$province_ids).’)’);

    $list = Db::name(‘表名’)->where([‘id’=>[‘in’,$province_ids],’status’=>1])->field(‘id,name’)->order($exp)->select();

  2. 闭包查询,子查询

    $list = Db::name(‘dict_region’)->where(‘id’,’IN’,function($query) use($where){

    $query->table(‘这里的表名要带前缀’)->where($where)->field(‘province’);

    })->field(‘id,name’)->select();

  3. order排序里面使用函数

    $arr = Db::name(‘表名’)

    ->alias(‘a’)

    ->join(‘product_goods b’,’a.goods_id=b.id’)

    ->where($where)

    ->group(“a.goods_id”)

    ->orderRaw(“sum(a.publish_num) desc”)   //将a表的publish_num的和作为排序的标准

    ->field(“goods_id as id,b.name,sum(a.publish_num) as num”)

    ->select();

  4. wherOr的查询

    $list = Db::name(‘message’)

    ->alias(‘a’)

    ->join(‘user b’,’a.user_id=b.id’)

    ->where($where)

    ->where(function ($query) use ($keywords) {

    $query->whereOr([‘username’=>[‘like’,’%’.$keywords.’%’]])   //昵称模糊搜索

    ->whereOr([‘nickname’=>[‘like’,’%’.$keywords.’%’]]);    //昵称模糊搜索

    })

    ->order(‘a.id desc’)

    ->select();

文章来源于互联网:tp5 有点技巧性的sql语句

赞(0) 打赏
未经允许不得转载:VPS测评推荐网站 - 朱纯树博客 » tp5 有点技巧性的sql语句

评论 983

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #990

    I’m extremely impressed together with your writing abilities as neatly as with the format to your blog. Is this a paid theme or did you customize it your self? Either way keep up the nice high quality writing, it?s uncommon to look a nice blog like this one nowadays..

  2. #989

    Esenyurt Esenyurt istanbul hurdacı firmasıyız. Esenyurt hurda fiyatları ile yerinden hurda alıyoruz. Nakit ödemeyle hurda alıyoruz. Hurdacı numarası https://www.hurdacisitesi.com.tr

    hurdacı11小时前回复
  3. #988

    There are some fascinating cut-off dates on this article however I don?t know if I see all of them middle to heart. There is some validity however I’ll take maintain opinion until I look into it further. Good article , thanks and we want more! Added to FeedBurner as properly

  4. #987

    Esenyurt Esenyurt istanbul hurdacı firmasıyız. Esenyurt hurda fiyatları ile yerinden hurda alıyoruz. Nakit ödemeyle hurda alıyoruz. Hurdacı numarası https://www.hurdacifirma.com.tr

  5. #986

    Hurda bakır alan Esenyurt hurdacı firması olarak her türlü madeni değerinde alıyoruz. Hurda alım satımında lider konumdayız..

  6. #985
  7. #984
  8. #983