السلام عليكم ,
هذا اصدار قم 1.1.0 لـ PDO Database Class
ما الجديد ؟
تم اضافة دوال للتعامل مع Data Definition Language (DDL)
ليس كلها ولكن بعضها .
تم اضافة :
1 - انشاء جدول جديد
2- حذف جدول
3- اضافة عمود جديد
4- حذف عمود
5- اعادة تسمية عمود موجود.
اسلوب الاضافة والتعديل والحذف تغير قليلا (insert, update, delete)
سابقا كان :
<?php
$db = DB::get();
$db->insert('table_name', [
'name' => 'name_value',
'other_column' => 'column_value'
]);
$db->update('table_name', [
'name' => 'name_value',
'other_column' => 'column_value'
], ['id', '=', 5]);
$db->delete('table_name', ['id', '=', 5]);
في هذا الاصدار :
<?php
$db = DB::get();
$db->table('table_name')->insert([
'name' => 'name_value',
'other_column' => 'column_value'
]);
$db-table('table_name')->>update([
'name' => 'name_value',
'other_column' => 'column_value'
], ['id', '=', 5]);
$db->table('table_name')->delete(['id', '=', 5]);
انشاء جدول :
$db = DB::get();
$db->table('students')->schema([
'id' => 'increments',
'name' => 'string:255 | not_null',
'number' => 'int|unsigned';
])->create();
جملة SQL التي سيتم تنفيذها عن الكود السابق :
CREATE TABLE students ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, number INT UNSIGNED
مثال اخر :
$db = DB::get();
$schema = [
'id' => 'increments',
'username' => 'string:100|not_null',
'full_name' => 'string:255|defualt:no-name',
'joind' => 'timestamps',
'user_email' => 'string:100|not_null',
];
$db->table('users')->schema($schema)->create();
اذا كنت مهتم يمكنك ايجاد الclass على github من هنا :
التعليقات