Datenbank in Controller verwenden
Hallo Community,
ich würde gerne in einem Controller auf die Datenbank zugreifen.
Normalerweise mache ich das in Templates über $this->import('Database').
Ich habe nun in meinem Controller schon sämtliches versucht. Habe Services angelegt die \System extenden, aber finde keinen Weg, wie ich in einem Controller Zugriff auf die Datenbank-Klassen erhalte.
Folgende Umsetzung wirft einen Fehler:
PHP-Code:
$result = \Database::getInstance()->prepare("SELECT * FROM tl_log")->execute();
Fehler:
Code:
Attempted to load class "Database" from the global namespace.
Did you forget a "use" statement?
Wenn ich ein use-Statement verwende, bekomme ich folgenden Fehler:
Code:
Call to a member function get() on null
Hättet ihr einen Tipp für mich?
Controller und Zugriff auf die DB
Hallo,
hänge an der gleichen Stelle. Normales Ajax geht, aber ich bekomme in der 4.9 keinen Zugriff auf die DB. Auch mit dem Code unten nicht. Es kommt Error 500 sobald ich den __construct (auch ohne Inhalt) einbinde. In der 4.4 funktioniert derselbe Code seit Monaten problemlos. Könnte mir da jemand mal einen Tipp geben bitte.
Bernard
Zitat:
Zitat von
Spooky
PHP-Code:
// src/Controller/MyController.php
namespace App\Controller;
use Doctrine\DBAL\Connection;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class MyController
{
private $db;
public function __construct(Connection $db)
{
$this->db = $db;
}
public function myAction(Request $request): Response
{
$dbResult = $this->db->executeQuery(/* … */)->fetchAll();
// …
}
}