定制 stdtech/dbo 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

stdtech/dbo

Composer 安装命令:

composer require stdtech/dbo

包简介

Simple ORM for PHP 5.3

关键字:

README 文档

README

Simple ORM for PHP 5.3

Exaple of usage:

Создаем структуру таблиц:

$T["pack"] = array(
    "table" => "pack",
    "key" => "id",
    "fields" => array(
        "id" => "int",
        "name" => "char",
        "date_created" => "date",
        "desired_size" => "int",
        "pages_min" => "int",
        "pages_max" => "int",
        "theme_id" => "int",
        "is_full" => "int"
    )
);

Инициализируем коннект к БД и "скармливаем БД"

$db = new DBObject($config);
$db->init_tables($T);

Так выглядит одна строка "вынутая" из базы - ассоциативный массив

$row = array(
    "id" => 1,
    "name" => "Alex",
    "date_created" => "2014-03-03 11:12:33",
    "desired_size" => 15,
    ...
);

Получить из таблицы "pack" строчки по первичному ключу (колонка "id")

$rows = $db->get('pack', 3); 

Вернется:

array(
	0 => array(
	    "id" => 3,
	    "name" => "Mike",
	    "date_created" => "2014-03-03 11:12:33",
	    "desired_size" => 15,
		...
	)
)

Получить из таблицы "pack" строчки по первичному где колонка "name" == "Alex"

$filter = array(
	"name" => "Alex"
);
$db->get('pack', $filter) 

Вернется:

array(
	0 => array(
	    "id" => 1,
	    "name" => "Alex",
	    "date_created" => "2014-03-03 11:12:33",
	    "desired_size" => 15,
		...
	),
	...
)

// получить из таблицы "pack" строчки по первичному где колонка "name" > "Alex"

$filter = array(
	"name" => ">Alex"  // символ '>' в начале строки, допускаются <, <=, >, >=, =, != (по-умолчанию =)
);
$db->get('pack', $filter) 

Вернется:

array(
	0 => array(
	    "id" => 1,
	    "name" => "Alex",
	    "date_created" => "2014-03-03 11:12:33",
	    "desired_size" => 15,
		...
	),
	...
)

Обновит таблицу pack, где id=3 и установит колонки в значения из $row (если какие-то колонки в $row пропущены, то данные в таблице будут установлены в NULL)

$db->set('pack', $row, 3); 

обновит таблицу pack, где id=3 и установит только колонки в значения из $row (отсутствующие колонки в $row будут оставлены без изменений)

$db->set('pack', $row, 3, false); 

обновит таблицу pack, где записи совпадают с условиями из $filter

$db->set('pack', $row, $filter); 

добавит новую запись

$db->set('pack', $row); 

Устройство фильтров

$filter = array(
	"name" => ">Alex",
	"col_name_1" => "scalar"
	"col_name_2" => array("scalar_1", "scalar_2")
);

все колонки объединяются по AND, а внутри одной колонки по OR, т.е. в выше приведенном примере будет:

	WHERE name > "Alex" AND col_name_1 = "scalar" AND (col_name_2 = "scalar_1" OR col_name_2 = "scalar_2")

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2013-04-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固