alemran/wp-query-builder

WordPress 的查询构建器

v1.0.1 2020-05-16 16:31 UTC

This package is auto-updated.

Last update: 2024-09-17 02:00:31 UTC


README

wpQueryBuilder 提供了一个便捷、流畅的接口来运行数据库查询。它可以用来在您的应用程序中执行大多数数据库操作。

安装

通过 Composer: composer require alemran/wp-query-builder

# 示例
 
    require 'vendor/autoload.php';
    
    use wpQueryBuilder\DB;
    
    DB::table('demo')->first()

数据库函数
  1. 检索单行
    DB::table('users')->first();
  2. 检索多行
    DB::table('users')->get();
  1. where($column, $value ) :
    DB::table('users')
         ->where('id', 1)
         ->get()
    DB::table('users')
         ->where(function($query){
           $query->where('id', 1);
           $query->orWhere('name', "name");
         })
         ->get()
  2. orWhere($column, $value) :
    DB::table('users')
         ->where('id', 1)
         ->orWhere('name', "name")
         ->get()
    DB::table('users')
         ->where('id', 1)
         ->orWhere(function($query){
             $query->where('field', 'value);
             $query->where('field', 'value);
             })
         ->first()
  3. whereRaw($query) :
    DB::table('users')
         ->whereRaw('id = 1')
         ->first()
  4. orWhereRaw($query) :
    DB::table('users')
         ->whereRaw('id = 1')
         ->orWhereRaw('id = 1')
         ->first()
  5. orderBy($columns, $direction) :
    DB::table('users')
         ->orderBy('id', 'desc')
    DB::table('users')
         ->orderBy('id,name', 'desc')
  6. groupBy($columns) :
    DB::table('users')
         ->groupBy('id')
    DB::table('users')
         ->groupBy('id,name')
  7. limit($number) :
    DB::table('users')
         ->where('id', 1)
         ->limit(number)->get()
  8. offset($number) :
    DB::table('users')
         ->where('id', 1)
         ->limit(number)->offset(number)->get()
  9. select($fields) :
    DB::table('users')
         ->select('id,name')
            ->get()
  10. insert($data) :
    DB::table('users')
         ->insert(['name' => "demo"])
  11. update($data,$where) :
    DB::table('users')
         ->where('id', 1)
         ->update(['name' => "demo"])
  12. delete($where) :
    DB::table('users')
         ->where('id', 1)
         ->delete()
  13. join($table, $first, $operator = null, $second = null) (INNER JOIN):
    DB::table('demo_notes as n')
            ->join('demo_users as u', 'u.id', '=', 'n.user_id')
            ->first()
    
    DB::table('demo_notes as n')
            ->join('demo_users as u', function($query){
              $query->on( 'u.id', '=', 'n.user_id')
              $query->orOn( 'u.id', '=', 'n.user_id')
            })
            ->first()
    
    DB::table('demo_notes as n')
            ->join('demo_users as u', function($query) use($request){
              $query->on( 'u.id', '=', 'n.user_id')
              $query->onWhere( 'u.id', '=', $request->id)
            })
            ->first()
    
    注意:必须使用表别名来使用 join 或 leftJoin。
  14. leftJoin($table, $first, $operator = null, $second = null) (LEFT JOIN): 与 join() 相同
  15. transaction():
    DB::startTransaction(function(){
        DB::table('demo_notes')
          ->insert([
             "note" => "Hello",
           ]);
    })
    DB::startTransaction(function(DB $query){
        $query->table('demo_notes')
          ->insert([
             "note" => "Hello",
           ]);
    })