PHPackages                             codesaur/dataobject - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. codesaur/dataobject

ActiveLibrary[Database &amp; ORM](/categories/database)

codesaur/dataobject
===================

codesaur-php экосистемийн өгөгдлийн давхаргын үндсэн компонент, өгөгдлийн модель ба хүснэгтүүдийг удирдагч (MySQL / PostgreSQL / SQLite, PHP 8.2.1+)

v9.1.0(1mo ago)1710↓50%1MITPHPPHP ^8.2.1CI passing

Since Mar 22Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/codesaur-php/DataObject)[ Packagist](https://packagist.org/packages/codesaur/dataobject)[ Docs](https://github.com/codesaur-php)[ RSS](/packages/codesaur-dataobject/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (86)Used By (1)

codesaur/dataobject
===================

[](#codesaurdataobject)

[![CI](https://github.com/codesaur-php/DataObject/actions/workflows/ci.yml/badge.svg)](https://github.com/codesaur-php/DataObject/actions/workflows/ci.yml)[![PHP Version](https://camo.githubusercontent.com/1015683ef28e870620edc19b6e22b456c0dc170c260fa4645905e93438f607a6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e322e312d3737374242342e7376673f6c6f676f3d706870)](https://www.php.net/)[![License](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)

Агуулга / Table of Contents
---------------------------

[](#агуулга--table-of-contents)

1. [Монгол](#1-%D0%BC%D0%BE%D0%BD%D0%B3%D0%BE%D0%BB-%D1%82%D0%B0%D0%B9%D0%BB%D0%B1%D0%B0%D1%80) | 2. [English](#2-english-description) | 3. [Getting Started](#3-getting-started)

---

1. Монгол тайлбар
-----------------

[](#1-монгол-тайлбар)

PDO суурьтай өгөгдлийн модель ба хүснэгтүүдийг удирдагч компонент. MySQL / PostgreSQL / SQLite дээр адилхан кодоор ажилладаг.

`codesaur/dataobject` нь **codesaur ecosystem**-ийн нэг хэсэг бөгөөд хөнгөн жинтэй, фрэймворкоос үл хамааран standalone байдлаар ашиглаж болох PHP өгөгдлийн давхаргын компонент юм.

Багц нь дараах үндсэн class-уудаас бүрдэнэ:

- **Model** - нэг хүснэгтэд зориулсан загварын суурь класс
- **LocalizedModel** - олон хэл дээрх контент хадгалах зориулалттай загварын суурь класс
- **Column** - хүснэгтийн баганын бүтцийг тодорхойлох класс
- **Constants** - бүх тогтмол утгуудыг (driver, error code, column нэрс) төвлөрүүлсэн класс
- **PDOTrait** - PDO үйлдлүүдийг төвлөрүүлсэн trait
- **TableTrait** - хүснэгттэй ажиллах үндсэн боломжуудыг агуулсан trait

### Дэлгэрэнгүй мэдээлэл

[](#дэлгэрэнгүй-мэдээлэл)

- [Бүрэн танилцуулга](docs/mn/README.md) - Суурилуулалт, хэрэглээ, жишээнүүд
- [API тайлбар](docs/mn/api.md) - Бүх метод, exception-үүдийн тайлбар
- [Шалгалтын тайлан](docs/mn/review.md) - Код шалгалтын тайлан

---

2. English description
----------------------

[](#2-english-description)

PDO-based data model and table management component. Works with the same code on MySQL / PostgreSQL / SQLite.

`codesaur/dataobject` is part of the **codesaur ecosystem** and is a lightweight PHP data layer component that can be used standalone, independent of any framework.

The package consists of the following core classes:

- **Model** - base class for models targeting a single table
- **LocalizedModel** - base class for models storing content in multiple languages
- **Column** - class for defining table column structure
- **Constants** - centralized class for all constant values (drivers, error codes, column names)
- **PDOTrait** - trait centralizing PDO operations
- **TableTrait** - trait containing basic capabilities for working with tables

### Documentation

[](#documentation)

- [Full Documentation](docs/en/README.md) - Installation, usage, examples
- [API Reference](docs/en/api.md) - Complete API documentation
- [Review](docs/en/review.md) - Code review report

---

3. Getting Started
------------------

[](#3-getting-started)

### Requirements

[](#requirements)

- PHP **8.2.1+** with `ext-pdo` extension
- Composer
- MySQL or PostgreSQL or SQLite

### Installation

[](#installation)

Composer ашиглан суулгана / Install via Composer:

```
composer require codesaur/dataobject
```

### Quick Example

[](#quick-example)

```
use codesaur\DataObject\Model;
use codesaur\DataObject\Column;

class UserModel extends Model
{
    public function __construct(\PDO $pdo)
    {
        $this->setInstance($pdo);

        $this->setColumns([
           (new Column('id', 'bigint'))->primary(),
           (new Column('username', 'varchar', 64))->unique(),
            new Column('password', 'varchar', 255),
           (new Column('is_active', 'tinyint'))->default(1),
            new Column('created_at', 'datetime'),
        ]);

        $this->setTable('users');
    }

    protected function __initial()
    {
        // Хүснэгт анх удаа үүсгэгдэх үед ганц удаа ажиллана
    }
}

// Хэрэглэх / Usage
$pdo = new \PDO('mysql:host=localhost;dbname=test', 'user', 'pass');
$userModel = new UserModel($pdo);

// Нэмэх / Insert
$user = $userModel->insert([
    'username' => 'john',
    'password' => password_hash('secret', PASSWORD_DEFAULT),
    'created_at' => date('Y-m-d H:i:s'),
]);

// Унших / Read
$user = $userModel->getById(1);
$user = $userModel->getRowWhere(['username' => 'john']);
$exists = $userModel->existsById(1);
$total = $userModel->countRows(['WHERE' => 'is_active=1']);
```

### Running Tests

[](#running-tests)

Тест ажиллуулах / Run tests:

```
# Бүх тестүүдийг ажиллуулах / Run all tests
composer test

# Coverage-тэй тест ажиллуулах / Run tests with coverage
composer test-coverage
```

---

Changelog
---------

[](#changelog)

- [CHANGELOG.md](CHANGELOG.md) - Full version history

Contributing &amp; Security
---------------------------

[](#contributing--security)

- [Contributing Guide](.github/CONTRIBUTING.md)
- [Security Policy](.github/SECURITY.md)

License
-------

[](#license)

This project is licensed under the MIT License.

Author
------

[](#author)

**Narankhuu**

**codesaur ecosystem:**

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance89

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~21 days

Total

85

Last Release

56d ago

Major Versions

v4.4.0 → v5.0.02024-01-24

v5.2.0 → v6.0.02025-01-21

v6.6.0 → v7.0.02025-09-21

v7.7.0 → v8.0.02025-12-18

v8.1.0 → v9.0.02026-01-07

PHP version history (3 changes)v1.0PHP &gt;=7.2.0

v3.3.1PHP &gt;=8.2.1

v8.0.0PHP ^8.2.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/2281c1b7b23007da57ad0526923a5f822dea64629ab1cb70749188d2b869e55c?d=identicon)[codesaur](/maintainers/codesaur)

---

Top Contributors

[![codesaur](https://avatars.githubusercontent.com/u/4127594?v=4)](https://github.com/codesaur "codesaur (133 commits)")

---

Tags

databasemysqlsqlitepostgrespdopgsqldataobjectcodesaurmongolmongolianarankhuucodenкодзаврнаранхүүкоден

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/codesaur-dataobject/health.svg)

```
[![Health](https://phpackages.com/badges/codesaur-dataobject/health.svg)](https://phpackages.com/packages/codesaur-dataobject)
```

###  Alternatives

[doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.

9.7k578.4M5.6k](/packages/doctrine-dbal)[aura/sqlquery

Object-oriented query builders for MySQL, Postgres, SQLite, and SQLServer; can be used with any database connection library.

4572.9M34](/packages/aura-sqlquery)[atlas/query

Object-oriented query builders and performers for MySQL, Postgres, SQLite, and SQLServer.

41249.0k7](/packages/atlas-query)[aura/sqlschema

Provides facilities to read table names and table columns from a database using PDO.

41234.1k4](/packages/aura-sqlschema)[apix/cache

A thin PSR-6 cache wrapper with a generic interface to various caching backends emphasising cache taggging and indexing to Redis, Memcached, PDO/SQL, APC and other adapters.

114542.8k6](/packages/apix-cache)[delight-im/db

Safe and convenient SQL database access in a driver-agnostic way

49156.8k7](/packages/delight-im-db)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
