esit/databaselayer

Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, die Zugriff auf die Datenbank vereinfacht.

Maintainers

👁 eS-IT

Package info

github.com/eS-IT/databaselayer

Documentation

Type:contao-bundle

pkg:composer/esit/databaselayer

Statistics

Installs: 1 203

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.19 2025-11-13 08:07 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

LGPL-3.0-or-later 5e904823075e79d6dbe88695859e3f559c39ff88

This package is auto-updated.

Last update: 2026-06-13 09:20:07 UTC


README

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

Beschreibung

Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, die Zugriff auf die Datenbank vereinfacht.

Autor

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

Lizenz

Die Software wird unter LGPL-v3 veröffentlicht. Details sind in der Datei LICENSE zu finden.

Voraussetzungen

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

Installation

Die Erweiterung kann einfach über den ContaoManager installiert werden. Einfach nach esit/databaselayer suchen und installieren.

Verwendung

Da die Funktionalität auf verschiedene Klassen aufgeteilt ist, gibt es eine Fassade, die die Funktion bündelt. Für die Verwendung der Erweiterung wird fast ausschließlich der DatabaseHelper verwendet. Dieser ermöglicht einfache Datenbankoperationen wie loadByValue, loadByList, insert, update und delete. Wenn man komplexere Abfragen benötigt, kann man sich mit getQueryBuilder einen QueryBuilder geben lassen und die Abfrage manuell erstellen.

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();
 }
}