DatabaseObjectList::$sqlConditions ConditionBuilder statt string

    • Official Post
    App
    WoltLab Suite Core

    Hallo,


    in der Regel werden, wenn eine DatabaseObjectList verwendet wird, auch mehrere Bedingungen für diese Liste verwendet, die entweder durch den eigentlichen Verwendungszweck der Liste vorgeben werden (also in der erbenden Klasse fest implementiert sind) oder von außen (durch die entsprechende Page-Klasse) "dynamisch" hinzugefügt werden (Filterungen zum Beispiel). Um nicht zwischen erbenden Klassen zu unterscheiden, die bereits $sqlConditions befüllen und welchen die das nicht tun (relevant wegen der Verwendung von AND), wäre es einfacher, wenn man für direkt $sqlConditions eine Instanz von ConditionBuilder verwenden würde. Entsprechend könnte man DatabaseObjectList um die bereits jetzt prinzipiell überall verwendete Methode initDefaultSQL() erweitern, wo dann die entsprechende ConditionBuilder-Instanz erzeugt wird (und die vom ConditionBuilder-Konstruktor bereits aufgerufen wird), so dass man im folgenden einfach nur noch

    PHP
    $this->list->sqlConditions->add("...")

    verwenden muss.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!