Giter Club home page Giter Club logo

query-builder-demo's Introduction

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: Ngô Minh Hòa

Installation

    composer require "hoangm/query @dev"

Configuration

  • Create a config.ini file in root folder with content
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=database_name
    DB_USERNAME=root
    DB_PASSWORD=

and customize it

Usage examples

  1. Use Query Builder

        <?php
            require 'vendor/autoload.php';
            use Hoangm\Query\DB;
            $user = DB::table('users')->get();
  2. Use Model Builder

    • Create a model class

          <?php
              namespace App\Models;
              use Hoangm\Query\Model;
      
              class User extends Model
              {
                  protected static $table = 'users'; // table name
                  protected static $primary_key = 'id'; // primary key
              }
      • Usage
          <?php
              require 'vendor/autoload.php';
              use App\Models\User;
              $user = User::all();

Methods

Query Builder

  • table($table_name)

    • Set table name
  • select($columns)

    • Select columns
    • Example: select('id, name') or select(['id', 'name'])
  • where($column, $operator, $value)

    • Where condition
    • Example: where('id', '=', 1) or where(['id' => 1])
  • orWhere($column, $operator, $value)

    • Or where condition
    • Example: orWhere('id', '=', 1) or orWhere(['id', '=', 1], ['name', '=', 'Hoang'])
  • orderBy($column, $order)

    • Order by
    • Example: orderBy('id', 'desc')
  • limit($limit)

    • Limit
    • Example: limit(10)
  • offset($offset)

    • Offset
    • Example: offset(10)
  • join($table, $first, $operator, $second)

    • Inner Join
    • Example: join('users', 'users.id', '=', 'posts.user_id')
  • leftJoin($table, $first, $operator, $second)

    • Left Join
    • Example: leftJoin('users', 'users.id', '=', 'posts.user_id')
  • having($column, $operator, $value)

    • Having
    • Example: having('id', '=', 1) or having(['id' => 1])
  • insert($data)

  • update($data)

    • Update data
    • Example: update(['name' => 'Hoang2'])->where('id', '=', 1)
  • delete()

    • Delete data
    • Example: delete()->where('id', '=', 1)
  • get()

    • Get data
    • Example: get()
  • count()

    • Count data
    • Example: count()
  • first()

    • Get first data
    • Example: first()

Model Builder

  • all()

    • Get all data
    • Example: all()
  • find($id)

    • Find data by id
    • Example: find(1)
  • create($data)

query-builder-demo's People

Contributors

emilhnm avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.