+ Antworten
Ergebnis 1 bis 2 von 2

Thema: loadObjectList Zeile einfügen

  1. #1
    Neu an Board
    Registriert seit
    29.01.2010
    Beiträge
    3
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard loadObjectList Zeile einfügen

    Hallo,
    ich steh hier ein wenig auf dem Schlauch, ich möchte in dem Array was loadObjectList liefert, eine Zeile einfügen:
    Beispiel:
    function GetKasse()
    {
    $DbKasse = JFactory::getDBO();
    $DbKasse->setQuery("SELECT id, title FROM #__categories WHERE section='com_aerzte_kasse'");
    $DbKasse->query();
    $RowsKasse = $DbKasse->loadObjectList();
    $RowsKasse[] = array('id'=>0,'title'=>'TK');
    return $RowsKasse;
    }
    Es soll eine Zeile mit id = 0 und title = TK in $RowKasse eingefügt werden, leider funktioniert das nicht.
    Was mache ich falsch?

  2. #2
    War schon öfter hier
    Registriert seit
    23.09.2009
    Beiträge
    235
    Bedankte sich
    0
    Erhielt 62 Danksagungen
    in 59 Beiträgen

    Standard

    Sollten wir hier über ein Model sprechen, so steht dir mit $this->_db bereits ein Datenbankobjekt zur Verfügung. Die Methode loadObjectList(); ist durch $this->_getList(); tauschbar.
    Weiterhin sollte auf Fehler seitens der Datenbankabfrage reagiert werden.

    Zur Frage:
    Erstelle vor der Datenabfrage ein Array mit dem von dir gewünschten Inhalt.
    PHP-Code:
    // init result in case the query returns null
    $result = Array();

    // base: define the first alement
    $base = Array((object) Array('id' => 0'title' => 'TK'));

    // fictive loadObjectList(); result (in model: use $this->_db->_getList(); instead)
    $result = Array(
        (object) Array(
    'id' => 1'title' => 'foo'),
        (object) Array(
    'id' => 2'title' => 'bar'),
        (object) Array(
    'id' => 3'title' => 'baz'),
        (object) Array(
    'id' => 4'title' => 'quirk')
    );

    // merge first element with query result
    $RowsKasse array_merge($base$result);

    // debug
    var_dump($RowsKasse); 
    Ausgabe:
    HTML-Code:
    array
      0 => 
        object(stdClass)[183]
          public 'id' => int 0
          public 'title' => string 'TK' (length=2)
      1 => 
        object(stdClass)[187]
          public 'id' => int 1
          public 'title' => string 'foo' (length=3)
      2 => 
        object(stdClass)[188]
          public 'id' => int 2
          public 'title' => string 'bar' (length=3)
      3 => 
        object(stdClass)[186]
          public 'id' => int 3
          public 'title' => string 'baz' (length=3)
      4 => 
        object(stdClass)[190]
          public 'id' => int 4
          public 'title' => string 'quirk' (length=5)
    Tell 'em what they want to hear. That will keep them coming back for more. I 've got some for everyone.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein