danidoble/database

ORM mysql mariadb 数据库

v1.0.1 2022-04-13 22:16 UTC

This package is auto-updated.

Last update: 2024-09-14 04:18:50 UTC


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();