alemran / wp-query-builder
WordPress 的查询构建器
v1.0.1
2020-05-16 16:31 UTC
Requires
- php: >=7.0.0
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()
数据库函数
- 检索单行
DB::table('users')->first();
- 检索多行
DB::table('users')->get();
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()
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()
whereRaw($query)
:DB::table('users') ->whereRaw('id = 1') ->first()
orWhereRaw($query)
:DB::table('users') ->whereRaw('id = 1') ->orWhereRaw('id = 1') ->first()
orderBy($columns, $direction)
:DB::table('users') ->orderBy('id', 'desc')
DB::table('users') ->orderBy('id,name', 'desc')
groupBy($columns)
:DB::table('users') ->groupBy('id')
DB::table('users') ->groupBy('id,name')
limit($number)
:DB::table('users') ->where('id', 1) ->limit(number)->get()
offset($number)
:DB::table('users') ->where('id', 1) ->limit(number)->offset(number)->get()
select($fields)
:DB::table('users') ->select('id,name') ->get()
insert($data)
:DB::table('users') ->insert(['name' => "demo"])
update($data,$where)
:DB::table('users') ->where('id', 1) ->update(['name' => "demo"])
delete($where)
:DB::table('users') ->where('id', 1) ->delete()
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。
-
leftJoin($table, $first, $operator = null, $second = null) (LEFT JOIN)
: 与 join() 相同 transaction()
:DB::startTransaction(function(){ DB::table('demo_notes') ->insert([ "note" => "Hello", ]); })
DB::startTransaction(function(DB $query){ $query->table('demo_notes') ->insert([ "note" => "Hello", ]); })