Ich habe eine benutzerdefinierte Tabelle in meiner Magento2-Datenbank und kann kein einfaches Arbeitsbeispiel zum Verbinden, Abrufen und Anzeigen der Felddaten auf einer Magento2-Seite finden.
Dieser funktioniert meistens, ist jedoch unvollständig, da er beim Abrufen des Felds aufhört, aber nicht zeigt, wie das Feld tatsächlich auf der Webseite angezeigt wird: http://webkul.com/blog/magento2-write-custom-mysql-query-without -Verwenden von Modell /
Kann jemand bitte ein vollständiges Beispiel geben?
Antworten:
Sie haben ein Tutorial erwähnt, das die CRUD-Operation ohne Modell erklärt, aber es ist keine gute Praxis, den Objektmanager zu verwenden.
Lassen Sie mich den Rohbetrieb mit dem Modell erklären, es ist sehr einfach. Dies ist ein sehr wichtiges Konzept in Magento.
Betrachten wir zum Beispiel die folgende Tabellenstruktur
Für den CRUD-Betrieb müssen Sie drei Dinge erstellen
1. Modell
In Modell müssen Sie das Ressourcenmodell initialisieren
app/code/<vendor>/<module>/Model/Example.php
2. Ressourcenmodell
Im Ressourcenmodell müssen Sie den Tabellennamen und den Primärschlüssel initialisieren.
app/code/<vendor>/<module>/Model/ResourceModel/Example.php
3. Sammlung
In der Sammlung müssen Sie Modell und Ressourcenmodell definieren.
app/code/<vendor>/<module>/Model/ResourceModel/Example/Collection.php
Jetzt können Sie mithilfe der Abhängigkeitsinjektion Tabellenwerte in jedem Block abrufen.
Zum Beispiel: Daten in Block abrufen und festlegen
Bitte beachten Sie, dass wir den
<module>\<vendor>\Model\ExampleFactory
Konstruktor übergeben, aber keine der Dateien an diesem Speicherort gefunden wirdIn Magento 2 verfügt jedes CRUD-Modell über eine entsprechende Werksklasse. Alle Fabrikklassennamen sind die Namen der Modellklasse, an die das Wort „Fabrik“ angehängt ist. Da unsere Modellklasse benannt ist,
<module>/<vendor>/Model/Example
bedeutet dies, dass unsere Fabrikklasse benannt ist<module>/<vendor>/Model/ExampleFactory
Danach können Sie diese Blockmethode in Ihrer Vorlagendatei aufrufen
quelle