2017 © Pedro Peláez
 

library database

Connect to database server.

image

drago-ex/database

Connect to database server.

  • Friday, July 27, 2018
  • by accgit
  • Repository
  • 1 Watchers
  • 0 Stars
  • 213 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 16 Versions
  • 23 % Grown

The README.md

Drago Database

Simple recurring questions., (*1)

License: MIT PHP version Tests Coding Style CodeFactor Coverage Status, (*2)

Technology

  • PHP 8.3 or higher
  • composer

Knowledge

Installation

composer require drago-ex/database

Basic Model Example

#[Table('table_name', 'primary_key')]
class Model
{
    use Database;
}

Common Queries

Reading records from a table:, (*3)

$this->model->read('*');

Find records by column name:, (*4)

$this->model->find('column, 'value');

Get a record by ID:, (*5)

$this->model->get(1);

Delete a record by column name:, (*6)

$this->model->delete('column, 'value');

Save records as an array (update if id is provided):, (*7)

$this->model->save(['column' => 'value']);

Using Entities

class SampleEntity extends Drago\Database\Entity
{
    public const Table = 'name';
    public const PrimaryKey = 'id';

    public ?int $id = null;
    public string $sample;
}

Use the entity in a model:, (*8)

#[From(SampleEntity::Table, SampleEntity::PrimarKey)]
class Model
{
    use Database;
}

Fetch records as objects:, (*9)

$row = $this->model->find('id', 1)->record();

// Accessing properties
echo $row->id;
echo $row->sample;

Save Entity Records

To save entity data (update record if id is present):, (*10)

$entity = new SampleEntity;
$entity->id = 1;
$entity->sample = 'sample';

$this->save($entity);

Advanced Features

Entity Class for Database Mapping

You can use a custom entity class with database mapping:, (*11)

/** @extends Database<SampleEntity> */
#[From(SampleEntity::Table, SampleEntity::PrimaryKey, class: SampleEntity::class)]
class Model
{
    use Database;
}

// Fetch records directly as objects
$row = $this->model->find('id', 1)->record();

// Access the object's properties
echo $row->id;
echo $row->sample;

// Fetch all records
$allRecords = $this->model->read('*')->recordAll();

Entity Generation

For automatic entity generation, consider using the Drago Generator tool: https://github.com/drago-ex/generator, (*12)

The Versions

27/07 2018

dev-master

9999999-dev

Connect to database server.

  Sources   Download

MIT

The Requires

 

27/07 2018

v1.1.1

1.1.1.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

27/07 2018

v1.1.0

1.1.0.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

31/05 2018

v1.10

1.10.0.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

31/05 2018

v1.0.9

1.0.9.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

30/05 2018

v1.0.8

1.0.8.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

29/05 2018

v1.0.x-dev

1.0.9999999.9999999-dev

Connect to database server.

  Sources   Download

MIT

The Requires

 

29/05 2018

v2.0.x-dev

2.0.9999999.9999999-dev

Connect to database server.

  Sources   Download

MIT

The Requires

 

12/04 2018

v1.0.7

1.0.7.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

04/04 2018

v1.0.6

1.0.6.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

04/04 2018

v1.0.5

1.0.5.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

07/03 2018

v1.0.4

1.0.4.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

01/12 2017

v1.0.3

1.0.3.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

29/11 2017

v1.0.2

1.0.2.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

10/11 2017

v1.0.1

1.0.1.0

Connect to database server.

  Sources   Download

MIT

The Requires

 

18/10 2017

v1.0.0

1.0.0.0

Connect to database server.

  Sources   Download

MIT

The Requires