Hallo, lieber Forumbenutzer. Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen, für deine Fragen/Probleme aktuell (zusätzlich) Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: http://redaxo.org/slack/
helpmeplease
Beiträge: 21
Registriert: 22. Jul 2007, 19:27

Last Insert Id

19. Jan 2018, 10:49

Hallo,

komme ich irgendwo an die last_insert_id von einem Datenbank Eintrag der rex_form Klasse? Der Extension Point 'REX_FORM_SAVED" liefert mir ja nur true bzw. einen evt. Fehler zurück?

Wofür? Ich habe eine 2 Tabelle in die ich gewisse Werte von diesem Formular eintragen möchte, dort benötige ich jedoch die Id vom jeweiligen Eintrag. Ich habe auch schon versucht die rex_form zu erweitern. Dort sehe ich aktuell aber auch keine Möglichkeit an die Id zu kommen ...

Vielleicht kann mir dazu kurz jemand was sagen, evt. ist es ja ganz einfach und ich übersehe da einfach was.

Wäre cool - Danke!

Benutzeravatar
runstop64
Beiträge: 369
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

Re: Last Insert Id

19. Jan 2018, 13:29

Hi,

dem EP werden auch das rex_form-Objekt und das rex_sql-Objekt übergeben:
https://github.com/redaxo/redaxo/blob/5 ... .php#L1361
Die zusätzlichen Werte erhälst du über

Code: Alles auswählen

$ep->getParam($variablenname)
Daher müsste es eigentlich möglich sein, über

Code: Alles auswählen

$sql->getLastId()
die ID abzufragen:
https://github.com/redaxo/redaxo/blob/5 ... #L893-L899
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

helpmeplease
Beiträge: 21
Registriert: 22. Jul 2007, 19:27

Re: Last Insert Id

19. Jan 2018, 23:09

Hallo Daniel,

ja du hast vollkommen recht. Hier kommt auch das sql Objekt und damit kann man arbeiten ...

Danke für deinen Hinweis ...

helpmeplease
Beiträge: 21
Registriert: 22. Jul 2007, 19:27

Re: Last Insert Id

21. Jan 2018, 16:52

Hallo Daniel,

hätte da noch eine Zusatzfrage. Komme ich irgendwie an die Werte eines form raw Feldes? Ich nutze im Formular das raw Element um ein Array mit Kategorien zu erstellen. Das raw Feld taucht im rex_form Objekt auch auf ($form->getFieldsetElements()). Dennoch kann ich auf das Array so nicht zugreifen da es ja nur als html String zur Verfügung steht.

Gibt es beim rex_form Objekt eine Möglichkeit auf alle POST Werte zuzugreifen?

Danke für dein Feedback ...

helpmeplease
Beiträge: 21
Registriert: 22. Jul 2007, 19:27

Re: Last Insert Id

21. Jan 2018, 17:50

Also die derzeit einfachste Möglichkeit die ich gefunden habe ist die Kategorien zusätzlich in der ursprünglichen rex_form Tabelle abzuspeichern und dort die Kategorien als ganz normales Checkbox Feld zu hinterlegen. Jetzt landen die Kategorien zwar als String zusätzlich in dieser Tabelle, aber für Abfragen im Frontend kann ich die entsprechende neue Tabelle verwenden. Vielleicht gibt es da eine andere, bessere Möglichkeit - ich habe keine gefunden. Ich komme in meiner processCats nicht an das in rex_form definierte raw Element bzw. an das darin enthaltene Array und auch nicht an die globalen $_POST Werte.

Code: Alles auswählen

public static function processCats($ep)
    {
        $sql = $ep->getParam('sql');
        $form = $ep->getParam('form');

        $infraId = ($_GET['id']) ? intval($_GET['id']) : $sql->getLastId();
        $formValues = $form->fieldsetPostValues($form->getFieldsetName());

        self::insertCats($infraId, $formValues['kategorien']);
    }

Zurück zu „AddOns / Packages [R5]“