phhung1901/simple_query_builder

该包的最新版本(dev-main)没有可用的许可信息。

创建查询构建器是一个简单、方法链依赖的库,用于创建简单的 SQL 查询。支持 PDO 支持的数据库

dev-main 2022-09-27 15:52 UTC

This package is auto-updated.

Last update: 2024-09-20 06:34:43 UTC


README

题目要求 dCreate Query Builder 是一个简单、方法链依赖的库,用于创建简单的 SQL 查询。支持 PDO 支持的数据库

执行者

执行者: Phạm Huy Hưng

使用

直接使用结果

  • 下载代码并在以下路径运行代码 https://github.com/phhung1901/simple_query_builder
  • 安装 composerPHP
  • 通过 composer 安装 FakerPHP: composer require fakerphp/faker
  • 创建名为: db_query_builder 的数据库
  • src/Config/Config.php 中编辑 PDO 连接信息
  • 运行 seeding: 运行 seeding_to_posts.phpseeding_to_users.php 文件以初始化数据。
  • 运行: $composer dump-autoload

所需包

  • composer require phhung1901/simple_query_builder:dev-main

内容

  • 声明 CSDL 并与 PDO 连接
<?php
use src\Config\Config;
use src\QueryBulder\QueryBuilder as DB;
use test\User;

$servername = "localhost";
$dbname = "db_query_builder";
$username = "root";
$password = "Phh1901@";

$config_val = [
    'host' => $servername,
    'dbname' => $dbname,
    'username' => $username,
    'password' => $password
];

$config = new Config($config_val);
$user = new \test\User();
?>
  • 使用 simple_query_builder 函数
<?php
$result = DB::table("users")->select("name, phone")->get();
$result = DB::table("users")->get();
$result = DB::table("users")->first();
$result = DB::table('users')->select('*')->where("id", ">=", "12")->get();
$result = DB::table('users')->find(10);
$result = DB::table("users")->select("name")->orderBy("id", "DESC")->get();
$result = DB::table('users')->select("name")->count();
$result = DB::table('users')
    ->select("*, posts.id as post_id")
    ->join("posts", "users.id", "=", "posts.user_id")
//    ->limit(3)
            ->first();
//    ->get();
?>
  • 不使用 DTO 使用
<?php
$user = $user->from($result);
print_r($user);
?>
  • 得到的结果
test\User Object
(
    [original:protected] => 
    [casts:protected] => 
    [attributes:protected] => 
    [default_casts:protected] => 
    [0] => stdClass Object
        (
            [id] => 1
            [name] => Thái Trọng
            [phone] => (0199)360-7961
        )

)

目录结构

  • src
    • Config: PDO 数据库连接
    • interface: 包含 dto 的接口
    • QueryBuilder: 查询构建器类,查询方法
  • test
    • 测试文件和初始化数据文件

得到的结果

  • 使用 Adminer 管理用户和数据库。
  • 使用 PDO 连接到数据库。
  • 使用 PDO 构建 simple query builder。
  • 结合之前的 dto https://github.com/phhung1901/pdo 以创建完整的包。