komiljonovdev / php-query-builder
A simple and flexible PHP query builder library
1.0.0
2024-08-26 18:07 UTC
Requires
- php: >=8.0
This package is not auto-updated.
Last update: 2025-06-30 21:50:00 UTC
README
php orqali ma'lumotlar bazasiga so'rovlarlarni yuborish uchun ishlab chiqilgan kichik kutubxona
Ishga tushurish
fayllarni sozlash
.env
fayli.env.example
kabi ochiladi.env
fayliga kerakli ma'lumotlar kiritiladi
DATABASE=your_database HOST=your_host DB_NAME=your_dbname DB_USER=your_dbusername DB_PASSWORD=your_dbpassword
index.php
faylini oching- Terminalda
composer dump-autoload
buyrug'ini bering. (Sizda composer o'rnatilmagan bo'lsa uni o'rnating) index.php
fayligi composer orqali barcha class'larni chaqirib olish uchun quyidagi kodlarni qo'shing:
<?php require 'vendor/autoload.php';
So'rovlarni amalga oshirish uchun 2 xil usul mavjud
- Query class'dan foydalanish
- O'zingizning Modelingizni e'lon qilish
- Query class'dan foydalanish:
- Query class orqali ishlashda
Query::setTable()
metodidan foydalanishimiz kerak bo'ladi, bu bizga so'rovlar qaysi table ga tegishli ekanligini belgilaydi
<?php require 'vendor/autoload.php'; use Core\database\Query; Query::setTable('users');
- Biror methodni qo'llab ko'ramiz, masalan create, quyidagi kodlar orqali users table'ga yangi ma'lumot kiritamiz:
<?php use Core\database\Query; Query::setTable('users'); Query::create(['name'=>'Obidjon', 'email'=>'komiljonovdev@gmail.com']);
- Query class orqali ishlashda
- Model orqali
Core/Models
ichida biror model uchun fayl yarating, namespace'larga e'tibor beringCore/Models/User.php
:
<?php namespace Core\Models; use Core\database\Model; class User extends Model { protected static $table_name = 'users'; }
- Yuqoridagi
$table_name
ushbu Model so'rovlarni qaysi table'ga yuborishligini belgilaydi index.php
faylida User modelni ishlatamiz, quyidagi kod users table'ga yangi ma'lumot kiritadi:
<?php use Model\Models\User; User::create(['name'=>'Obidjon', 'email'=>'komiljonovdev@gmail.com']);
Metodlar:
create()
metodi - ma'lumotlar bazasiga biror yangi ma'lumot kiritish:
User::create(['name'=>'Obidjon', 'email'=>'komiljonovdev@gmail.com']); Query::create(['name'=>'Obidjon', 'email'=>'komiljonovdev@gmail.com']);
where() orwhere()
metodi - ma'lumotlar bazasidan ma'lumot olish:
$data = User::where('name', 'Komiljonov')->get(); $data = Query::where('name', 'Komiljonov')->get(); $data = User::where('name', 'Komiljonov')->orWhere('id', '=', 37)->get(); $data = Query::where('name', 'Komiljonov')->orWhere('id', '=', 37)->get();
update()
metodi - ma'lumotlar bazisidan ma'lumotni yangilash:
User::update(['name'=>'Obidjon Komiljonov','email'=>'komiljonovdev@gmail.com']); User::where('id','46')->orWhere('id', '45')->update(['name'=>'Obidjon Komiljonov','email'=>'komiljonovdev@gmail.com']);
getQuery()
metodi - sql query'ni olish uchun:
echo User::getQuery(); echo Query::getQuery();