verketten Sie versuchen die ‚id‘ Feld zu überschreiben, aber das wird Sie Fragen geben. Ein ActiveRecord-Objekt kennt seinen eigenen Primärschlüssel (ich nehme das ID-Feld an) und benutzt es für alle möglichen Dinge. Wenn Sie versuchen, etwas anderes in diesem Feld auszuwählen, wird dies nicht funktionieren.
Zum Beispiel erhalten Sie das Objekt mit der ID 1. Dies wird von Ihnen in #1
umbenannt. Jetzt denkt AR, dass es ein Objekt mit einem Primärschlüssel ist, der #1
ist. Das ist nicht wahr
Bottomline ist, sollten Sie nicht etwas anderes in das Feld id
setzen, wenn Sie mit einem tatsächlichen ActiveRecord-Objekt arbeiten möchten.
Sie können nur die Daten abrufen, aber beim Zurückgeben des Felds $object->id
können Sie die hinzufügen. Machen Sie zum Beispiel einen magischen Getter für ID (ich glaube, AR erlaubt Ihnen, diese getId() zu nennen, aber sonst, beheben Sie es in __get()
.
Ich brauche den Spaltennamen zu "ID", weil ich nicht die Schleife Dies wiederum führt dazu, dass der Name einfach umbenannt wird, sogar wenn man ihn mit einem anderen Namen belegt, auch wenn er nicht in char umgewandelt wird. Dies ist ein Verhalten von phpactivecord, das in mysql funktioniert. –