Zusätzliches Template über die Remote API hinzufügen

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von mib007, 30. Aug. 2014.

  1. mib007

    mib007 New Member

    Hallo,

    ich bin bereits ein paar Tage mit der API beschäftigt.
    Es läuft ganz gut, nun tat sich aber folgende Frage auf:

    Ich wollte alle "Zusätzlichen Templates" (additional template) eines Users auslesen.
    Habe dazu die Funktion client_template_additional_get genutzt.

    Beim Aufruf stellte ich fest, das ich zwar ein zusätzlichen Template ausgelesen bekomme, aber wenn mehr als eines für den User festgelegt ist ich die anderen nicht angezeigt bekomme.

    In der remoting.inc.php habe ich geschaut und gesehen, das in der Abfrage auch nur ein Wert ausgelesen wird:

    PHP:
    return $app->db->queryOneRecord($sql);

    Müsste es nicht:
    PHP:
    return $app->db->queryAllRecords($sql);
    heißen damit alle auch ausgelesen werden.
    Ich habe es zum testen bei mir geändert und es funktioniert.

    Ist es ein Bug oder so gewollt?

    Viele Grüße
     
    Zuletzt bearbeitet: 30. Aug. 2014
  2. Till

    Till Administrator

    Müsste ich mir mal im detail ansehen. An sich hängt es vom wert ab den du als primary id der funktion übergibst. Ist dass ein integer wert, dann erhältst du ein einfaches array zurück. Ist primary id aber ein array, dann erhältst du ein mehrdimensionales array, also die ausgabe von queryAllRecords zurück.
     
  3. mib007

    mib007 New Member

    Moin,

    also müsste ich an die API ein array übergeben um alle Datensätze zu erhalten?
    Im Sinne von:

    PHP:
    client_id = array("client_id" => "1") ;
    template_id = array("template_id" => "2") ;
    $record $client->client_template_additional_add($session_id$client_id$template_id) ;
    Kann den die Remote API (kann es gerade nicht testen) client_id und / oder template_id als array Auswerten?

    Grüße
     
  4. Till

    Till Administrator

    die _get Funktionen unterstützen folgende anfragen als primary ID:

    1) Ineger, also der ID wert des primary fields der abzufragenden Tabelle.
    2) ein leeres array(), dann erhältst Du alle Einträge.
    3) ein array("field" = "value") gibt Dir alle einträge zurück, bei denen das genannte feld diesen wert hat, du kannst auch array("field" => "value", "field2" => "value2") angeben, dann wird es mit und verknüpft.

    Beispiel:

    client_get($session_id, 25);

    gibt client mit client_id = 25 zurück.

    client_get($session_id, array());

    gibt alle Kunden zurück

    client_get($session_id, array('email' => 'info@example.com'));

    gibt alle Kunden mit dieser emailadresse zurück.
     
  5. mib007

    mib007 New Member

    Moin,

    vielen Dank. Das wusste ich noch nicht, dann ist natürlich alles so richtig.

    Grüße
     

Diese Seite empfehlen