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

#1
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:

Till

Administrator
#2
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
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
 

Till

Administrator
#4
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.
 

Werbung