drago-ex/database 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

drago-ex/database

最新稳定版本:v2.0.1

Composer 安装命令:

composer require drago-ex/database

包简介

Connecting to database for Nette Framework

README 文档

README

Simple recurring questions.

License: MIT PHP version Tests Coding Style CodeFactor Coverage Status

Requirements

  • PHP >= 8.3
  • Nette Framework
  • dibi
  • 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:

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

Find records by column name:

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

Get a record by ID:

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

Delete a record by column name:

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

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

$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:

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

Fetch records as objects:

$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):

$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:

/** @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

统计信息

  • 总下载量: 4.76k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 6
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-12-09