esit / databaselayer

该软件是开源内容管理系统Contao的扩展,简化了对数据库的访问。

安装: 564

依赖: 1

建议: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:contao-bundle

1.0.17 2024-09-14 08:38 UTC

This package is auto-updated.

Last update: 2024-09-14 08:41:59 UTC


README

PHP >= 8.0 Contao >= 4.9 Tested with Contao 4.9 | 4.13 | 5.1 PHPStan Level 9

描述

该软件是开源内容管理系统Contao的扩展,简化了对数据库的访问。

作者

e@sy Solutions IT: Patrick Froch info@easySolutionsIT.de

许可证

该软件以LGPL-v3许可证发布。详细信息请参阅LICENSE文件。

要求

  • php: ~8.0
  • contao/core-bundle: ~4.9|^5.1

安装

该扩展可以通过ContaoManager简单安装。只需搜索并安装esit/databaselayer

使用

由于功能分布在不同的类中,因此存在一个封装器来捆绑功能。使用扩展时,几乎只使用DatabaseHelper。它允许执行简单的数据库操作,如loadByValueloadByListinsertupdatedelete。如果需要更复杂的查询,可以使用getQueryBuilder获取一个QueryBuilder并手动创建查询。

use \Esit\Databaselayer\Classes\Services\Helper\DatabaseHelper;

myClass
{

    private DatabaseHelper $dbHelper;

    public function __construct(DatabaseHelper $dbHelper)
    {
        $this->dbHelper = $dbHelper;
    }

    public function myTest(): void
    {
        // lesende Operationen
        $row        = $this->dbHelper->loadByValue(12, 'id', 'tl_member');
        $collection = $this->dbHelper->loadByList([12, 13, 14 ,15], 'id', 'tl_member');

        // schreibende Operationen
        unset($row['id']);  // Id muss unique sein!
        $id = $this->dbHelper->insert($row, 'tl_member');
        $this->dbHelper->update($row, 16, 'tl_member');
        $this->dbHelper->delete(16, 'tl_member');

        // Verwendung des QueryBuilders
        $query  = $this->dbHelper->getQueryBuilder();
        $query->select('*')->from('tl_member')->where->('id > :id')->setParameter('id', 12);
        $result = $query->executeQuery();
    }
}