danidoble / database
ORM mysql mariadb 数据库
v1.0.1
2022-04-13 22:16 UTC
Requires
- php: ^8.0
- ext-json: *
- ext-pdo: *
Requires (Dev)
- spatie/ignition: ^1.2
- symfony/var-dumper: ^6.0
- vlucas/phpdotenv: ^v5.4
Suggests
- vlucas/phpdotenv: This allow load credentials without do hard code
README
迷你ORM
安装
composer require danidoble/database
或
composer.phar require danidoble/database
配置
如果你使用像vlucas/phpdotenv
这样的凭证加载器,在文件.env
中添加以下凭证
DB_NAME="YOUR_DB_NAME"
DB_USER="YOUR_DB_USER"
DB_HOST="YOUR_DB_HOST"
DB_PASS="YOUR_DB_PASS"
如果你不使用库来加载凭证,你可以在你的代码中添加(不推荐)
$_ENV['DB_NAME']="YOUR_DB_NAME";
$_ENV['DB_USER']="YOUR_DB_USER";
$_ENV['DB_HOST']="YOUR_DB_HOST";
$_ENV['DB_PASS']="YOUR_DB_PASS";
如何使用
你可以通过这种方式配置id的名称:Sql::from('users')->id('name_id')
GET
获取所有数据
use Danidoble\Database\Sql; $users = Sql::from('users')->get(); var_dump($users);
分页数据
use Danidoble\Database\Sql; $users = Sql::from('users')->get(); var_dump($users);
获取单个数据
use Danidoble\Database\Sql; $user = Sql::from('users')->first(); var_dump($user);
通过id获取选中数据
use Danidoble\Database\Sql; $user = Sql::from('users')->find(1); var_dump($user);
INSERT
use Danidoble\Database\Sql; $user = new Sql(); $user->name = "Gregory"; $user->last_name = "Hui"; $user->save();
UPDATE
获取后更新
use Danidoble\Database\Sql; $user = Sql::from('users')->id('name_id')->find(1); $user->name = "somthing else"; $user->save();
不获取直接更新
use Danidoble\Database\Sql; $user = Sql::from('users') ->set('name','Pedro') ->set('last_name','Crox') ->where('name','Gregory','=') ->update();
DELETE
软删除(数据库中需要deleted_at
字段,否则将被删除)
use Danidoble\Database\Sql; $user = Sql::from('users')->find(1); $user->delete();
硬删除
use Danidoble\Database\Sql; $user = Sql::from('users')->find(1); $user->forceDelete();