aktualisieren Ich versuche, nur ein Stück Informationen von einem Benutzer in der Datenbank gespeichert zu aktualisieren, und CakePHP akzeptiert ein Array von Werten für jedes Attribut, aber ich don Es gibt keine Werte für andere Attribute und CakePhp aktualisiert die Zeile nicht, da alle Werte in der Zeile erwartet werden.wie ein einzelnes Attribut eines Elements in einer Tabelle mit CakePHP
Antwort
Ersten Weg: Erstellen Sie neue eine Objektabfrage mit query():
$users = TableRegistry::get('Users');
$query = $users->query();
$query->update()
->set(['is_active' => true])
->where(['id' => $id])
->execute();
Zweiter Weg: Mit PatchEntity
die Feldliste() Option beim Erstellen oder Daten zu einer Einheit verschmelzen:
dies Ihnen nur Updates erlauben oder Einsatz Feld u wollen
$user = $this->Users->get($id);
if ($this->request->is(['post', 'put'])) {
//assume $this->request->data Contains field as ['name' => 'myname', 'title' => 'Hacked!'];
$user = $this->Users->patchEntity($user, $this->request->data, [
'fieldList' => ['title']]);
// Only allow title to be changed
if ($this->Users->save($user)) {
$this->Flash->success(__('Your user has been updated.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Unable to update your user.'));
}
http://book.cakephp.org/3.0/en/orm/saving-data.html#changing-accessible-fields
http://book.cakephp.org/3.0/en/orm/query-builder.html#updating-data
Um ein einzelnes Attribut in Ihrem Modell zu aktualisieren, verwenden Sie die set-Methode und übergeben Sie nur die Felder, die Sie aktualisieren. Zum Beispiel können Sie so etwas versuchen.
$this->Model->read(null, $id);
$this->Model->set(array(
'fieldname' => 'value',
));
$this->Model->save();
Bitte bearbeiten Sie mit mehr Informationen. Code-only und "try this" Antworten werden abgeraten, da sie keine durchsuchbaren Inhalte enthalten und nicht erklären, warum jemand "das versuchen sollte". – abarisone
arbeiten Sollte
$this->ModelName->id = $id;
$this->ModelName->saveField('fieldname', 'New Value');
Wenn Sie cakephp 2.x verwenden, so dass Sie
$this->ModelName->id = $id;
$this->ModelName->saveField('fieldName', 'new value');
verwenden Wenn Sie cakephp 3.x verwenden, so dass Sie
verwenden$model = $this->ModelName->get($id);
$model = $this->ModelName->patchEntity($model,['fieldName'=>'new value'])
$this->ModelName->save($model);
ODER
$model = $this->ModelName->get($id);
$model->fieldName = 'new value';
$this->ModelName->save($model);
Weitere Informationen finden Sie http://book.cakephp.org/3.0/en/orm/saving-data.html#updating-data
"$ model = $ this-> ModelName-> patchEntity ($ model, ['fieldName' => 'neuer Wert'])" hat funktioniert, aber Sie müssen den neuen Wert explizit dem Feld zuweisen. Dies kann nicht auf den Wert von der Ansicht zugreifen. "$ user = $ this-> Benutzer-> patchEntity ($ user, $ this-> request-> data, [ 'fieldList' => ['title']]); // Nur erlauben Titel zu sein geändert "von @pradeep hat gut funktioniert, und dynamisch. – djrtb
- 1. CakePHP Elements nicht aktualisiert Tabelle
- 2. Wie schränkt man ein Attribut eines Elements in XSD ein?
- 3. coderigniter, wie man ein einzelnes Attribut in einem Tupel aktualisiert
- 4. Parsen Sie ein einzelnes Attribut in SQL
- 5. ein Attribut eines XML-Elements in Swift Handhabung
- 6. Wie ID-Attribut eines Elements in Raphael zugreifen
- 7. Rails - Wie ein einzelnes Attribut in der Steuerung aktualisieren
- 8. Laden Sie ein einzelnes CakePHP-Plugin mit App :: build()
- 9. Getting OffsetTop des Elements in einer Tabelle
- 10. Ausschließen eines Elements mit einem bestimmten Attribut von jQuery-Selektoren
- 11. Mehrere Beziehungen zu einer Tabelle in CakePHP
- 12. Wie validiere ich ein einzelnes Attribut von einem verschachtelten Objekt
- 13. Auswählen des letzten Elements in einer Tabelle
- 14. Kann ich ein einzelnes Zitat in ein JQuery-Attribut self selector ([Attribut = Wert]) setzen?
- 15. MySql: Wie wird ein einzelnes Zeilenvorkommen aus einer Tabelle mit Zeilen mit doppelten Feldern aktualisiert?
- 16. Wie bekomme ich dieses Attribut in einer Tabelle mit jquery?
- 17. Wie erstellt man ein XML-Attribut (anstelle eines Elements) mit FSharp?
- 18. Wie legt man ein Attribut eines DOM-Elements in Clojurescript fest?
- 19. MySQL bekommen mehrere Elemente aus einer Tabelle als Eingabe für ein einzelnes Feld einer anderen Tabelle
- 20. Löschen eines Elements aus einer generischen Liste
- 21. Erstellen eines Diagramms mit Tabelle in SSRS
- 22. Wie verwende ich mehrere Fremdschlüssel in einer Tabelle mit Bezug auf eine andere Tabelle in CakePHP
- 23. Javascript - Auswählen eines Elements in einer Liste
- 24. Ergreifen Sie das href-Attribut eines A-Elements
- 25. Fehlende Tabelle mit Simpletest in CakePHP
- 26. SQL Server: Wie erhält man den Wert eines XML-Elements, das ein Attribut angibt?
- 27. In CakePHP Wie verknüpfte Tabelle Informationen
- 28. Wie klont man ein einzelnes Verzeichnis eines gesamten Git-Repositories?
- 29. Entfernen eines div-Elements mit coffeescript
- 30. Konvertieren eines div-Elements in ein Bild
zeigen uns den Code – depperm
einen Code zeigen und welche Fehlermeldungen Sie bekommen –
Danke meine Frage zur Bearbeitung! – djrtb