承接 vannghia/simple_query_builder 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

vannghia/simple_query_builder

最新稳定版本:v1.0.0

Composer 安装命令:

composer require vannghia/simple_query_builder

包简介

simple query builder

README 文档

README

Đề bài: Create Query Builder is a simple, methods-chaining dependency-free library to create SQL Queries simple. Supports databases which are supported by PDO

Người thực hiện : Vu Van Nghia

Download và run code tại đường dẫn https://github.com/vn0202/demo_simple_query_builder

install

composer require vannghia/simple_query_builder

Sử dụng

  • Sử dụng autoload composer
  • Cấu hình thông tin database trong $config
$config = [
    'driver'=>'mysql',
    'host'=>'localhost',
    'dbname'=>'app',
    'username'=>'root',
    'password'=>'root',
];
Connection::$config = $config;

Có thể sử dụng trực tiếp QueryBuilder

 DB::table('tbl_admin')->where(['id','=',20])->get();
  • Trong thư mục src\Model, thêm các file model có cấu trúc như sau:
<?php
namespace Vannghia\TestNghia\Model;
use Vannghia\SimpleQueryBuilder\Model;

class TblAdmin extends Model{
   // $table chứa tên bảng cần truy xuất dữ liệu 
    protected  $table = 'tbl_admin';

}
  • Khi đó, để truy xuất dữ liệu từ bảng tbl_admin:

    • Lấy bản ghi đầu tiên:
       $test = TblAdmin::first();
       $test = TblAdmin::where(['id','>',20])->first()// lấy bản ghi đầu tiên có id > 20
    • Lấy số lượng bản ghi:
    $test = TblAdmin::count();//trả về tổng số bản ghi 
    $test = TblAdmin::where(['id','>',20])->count();
    • Chọn các giá trị cần lấy ( mặc định trả về gía trị của tất cả các cột )
    $test = TblAdmin::select(['email','phone'])->get();//chỉ tra ve gia tri cua cot email và phone 
    • Lựa chọn có điều kiện:
    $test = TblAdmin::where(['id','>',20])->where(['email','=','nghiavuxp0202@gmail.com'])->get();
    or $test = TblAdmin::where(['id','>',20],['email','=','nghiavuxp0202@gmail.com'])->get();
    • Sắp xếp gía trị trả về:

      $test = TblAdmin::where(['id','>',10])->orderBy(['email'],'desc')->get();
    • kết hợp bảng :

      $test = TblAdmin::join('tbl_product',['tbl_product.creator','=','tbl_admin.id'])
                    ->where(['id','>',20])
                    ->get();
      $test = TblAdmin::rightjoin('tbl_product',['tbl_product.creator','=','tbl_admin.id'])
                    ->where(['id','>',20])
                    ->get();
      $test = TblAdmin::lefttjoin('tbl_product',['tbl_product.creator','=','tbl_admin.id'])
                    ->where(['id','>',20])
                    ->get();
    • Chèn bản ghi:

    $data = [
      'fullname'=>'vnpgroup'
      'username'=>'VNPGROUP',
      'password'=>md5('vnp'),
      'email'=>'vnp@gmail.com',
      'phone'=>123456789,
      'address'=>'102 Thai Thinh',
      'reg_date'=>time(),
      'role'=>1,
      'amdin_intro'=>2,
      ];

TblAdmin::create($data)// Chen ban ghi vao bang TblAdmin::insert($data)

 - Cập  nhật bản ghi: 

 ```php 
 $data = [
 'fullname'=>'VNP',
 'email'=>'vnp@gmail.com'
 ];
 
 TblAdmin::where(['id','=',43])->update($data);
  • xóa bản ghi:
//xoa ban ghi 
 TblAdmin::where(['id','=',44])->delete();
require  "vendor/autoload.php";

use Vannghia\SimpleQueryBuilder\Config\Connection;
use Vannghia\TestNghia\Model\TblAdmin;

$config  = [
    'driver'=>'mysql',
    'host'=>'localhost',
    'dbname'=>'app',
    'username'=>'root',
    'password'=>'root',

];
Connection::$config = $config;

// lay ban ghi dau tien 
$test = TblAdmin::select(['email'])
       ->first();
// lay tat ca ban ghi 

$test = TblAdmin::get(); 




$test = TblAdmin::where(['id','>',20], ['email','=','nghiavuxp0202@gmail.com'))->limit(10,5)->get()
$test = TblAdmin::where(['id','=',1])
                   ->select(['email','phone'])
                   ->get();

//output 
object(Vannghia\SimpleQueryBuilder\Collection)#5 (1) {
  ["elements":"Vannghia\SimpleQueryBuilder\Collection":private]=>
  array(1) {
    [0]=>
    object(Vannghia\TestNghia\Model\TblAdmin)#6 (5) {
      ["original":protected]=>
      array(0) {
      }
      ["casts":protected]=>
      array(0) {
      }
      ["attributes":"Vannghia\SimpleQueryBuilder\Data":private]=>
      array(2) {
        ["email"]=>
        string(23) "nghiavuxp0202@gmail.com"
        ["phone"]=>
        string(10) "0981473790"
      }
      ["query"]=>
      object(Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder)#7 (9) {
        ["conn":"Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder":private]=>
        object(PDO)#8 (0) {
        }
        ["where":"Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder":private]=>
        string(0) ""
        ["whereCondition":"Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder":private]=>
        array(0) {
        }
        ["prepare":"Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder":private]=>
        NULL
        ["orderBy":"Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder":private]=>
        string(0) ""
      
        ["limit":"Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder":private]=>
        string(0) ""
        ["join":"Vannghia\SimpleQueryBuilder\QueryBuilder\QueryBuilder":private]=>
        string(0) ""
      }
      ["table":protected]=>
      string(9) "tbl_admin"
    }
  }
}
//

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2022-10-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固