1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/man0sions-Orm

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Автоматическое разделение чтения и записи в PHP-ORM

Установка

composer require man0sions/orm

Запуск демонстрационного примера

1: git clone https://git.oschina.net/man0sions/Orm.git
2: php public/index.php

Использование

1: Конфигурация баз данных

$db_conf = [
    'master' => [  // конфигурация основной базы данных
        'host' => '192.168.10.10',
        'user' => 'mysqluser',
        'passwd' => 'mysqlpasswd',
        'dbname' => 'test',
    ],
    'slave' => [   // конфигурация дополнительных баз данных, можно указать несколько

        [
            'host' => '192.168.10.11',
            'user' => 'mysqluser',
            'passwd' => 'mysqlpasswd',
            'dbname' => 'test',
        ],
        [
            'host' => '192.168.10.12',
            'user' => 'mysqluser',
            'passwd' => 'mysqlpasswd',
            'dbname' => 'test',
        ]
    ]

];

\LuciferP\Orm\base\Registry::set('db_conf', $db_conf);

2: Создание модели

Пример: создание файла User.php

use LuciferP\Orm\base\Model;

class Users extends Model
{
    protected $table = 'users'; // Измените имя таблицы MySQL здесь
    
}

3: create (вставка данных)

/**
 * create
 */

$user = new \LuciferP\Orm\models\Users();
$user->name = 'zhangsan';
$user->password = password_hash('passwd', PASSWORD_DEFAULT, ['cost' => 10]);

if ($user->create()) {
    var_dump($user->getAttributes());
} else {
    var_dump($user->getErrors()); // Получите сообщение об ошибке с помощью метода getErrors(), если операция SQL завершилась неудачей
}

4: find (поиск данных)

/**
 * find
 */

$user = \LuciferP\Orm\models\Users::model()
    ->fields(['*'])
    ->where(['id' => 2])
    ->find();

var_dump($user->getAttributes());  // Получите массив данных с помощью метода getAttributes()

5: find_all (поиск множества записей)

/**
 * find all
 * Метод find_all возвращает массив объектов, каждый из которых может быть обновлен или удален
 */
``````markdown
### 6: Обновление данных
```php
/**
 * Обновление данных
 */
$user->name = 'lisi' . microtime();
if ($user->update()) {
    var_dump($user->getAttributes());
} else {
    var_dump($user->getErrors());
}

6: Удаление данных

/**
 * Удаление данных
 */
if (!$user->delete()) {
    var_dump($user->getErrors());
}

7: Сохранение (Создание/Обновление)

$user = \LuciferP\Orm\models\Users::model()
    ->fields(['*'])
    ->where(['id' => 2])
    ->find();
if (!$user->getAttributes()) {
    $user = new User();
}
$user->name = "hello";
if ($user->save()) {
    var_dump($user->getAttributes());
} else {
    var_dump($user->getErrors());
}

8: Подсчет (Подсчет общего количества)

$count = Users::model()->where(['name' => 'zhangsan'])->count();

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Автоматическое разделение чтения и записи PHP-ORM. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/man0sions-Orm.git
git@api.gitlife.ru:oschina-mirror/man0sions-Orm.git
oschina-mirror
man0sions-Orm
man0sions-Orm
master