drupal DB Datensatz mit nur einer Funktion einfügen oder aktualisieren

8

ähnliche Quest ist hier: Hilfe mit db-Abfrage in Drupal - wenn vorhanden Update sonst einfügen

Aber drupal_write_record () drittes Argument ist zu bestimmen, update oder einfügen. Vielleicht hat Drupal eine andere Funktion, wer selbst bestimmen einfügen oder update durch Primärschlüssel? Oder soll ich es mir selbst programmieren?

    
neworld 24.09.2011, 19:54
quelle

3 Antworten

9

Sehen Sie sich die db_merge () Funktion, ich denke, es hat die Funktionen, die Sie suchen.

    
Clive 24.09.2011, 23:51
quelle
1

Wenn Sie wirklich nicht wissen, ob es dort bereits einen Datensatz gibt, müssen Sie wahrscheinlich etwas früher in Ihrem Programmfluss überprüfen. Normalerweise würde ich die Funktion oder was auch immer mit einem Aufruf der DB starten, und wenn ich ein vorhandenes Datensatzobjekt nicht erhalte, mache ich ein neues von stdClass.

Dies hat zwei Vorteile: Erstens bedeutet es, dass Sie über existierende Daten wissen, so dass Sie sie bei Bedarf verwenden können und sie nicht blind überschreiben. Zweitens: Wenn Sie an den Punkt gelangen, an dem Sie in die Datenbank schreiben, wissen Sie, ob es INSERT oder UPDATE ist, je nachdem, ob das Objekt eine ID-Eigenschaft hat.

    
Matt Gibson 24.09.2011 20:11
quelle
1

Ich habe die Funktion selbst implementiert:

%Vor%     
neworld 25.09.2011 11:03
quelle

Tags und Links