Ich suche mehr Dokumentation bzw. eine Lösung wie ich Plugin Datenbank Abfragen aus einem anderen Plugin stellen kann. Konkret will ich mit meinem Plugin (meinplugin) Daten aus einem anderen Plugin (einplugin) abfragen, welche in der Tabelle s_plugin_einplugin_tabelle1 liegen. Im anderen Plugin (einplugin) gibt es auch Models für die Datenbank Einträge.
Auch ist mir der Best Practise Ansatz hierzu noch nicht klar - frage ich die Daten mittels einer SQL Abfrage ab oder lieber über einen Entity Manager?
Du kannst doch “ganz normal” über \Shopware\CustomModels\Plugin1\Model auf die models zugreifen?! Im best case würdest du im ersten Plugin in der repository des models einfach alle benötigten Methoden zur Verfügung stellen.
den Entity Manager vermeiden wir so gut es geht im Frontend, da dieser nicht zwangsweise die beste Performance hat.
Nichtsdestotrotz solltest du ganz normal auf die Models des anderen Plugins zugreifen und diese nutzen können.
Am Besten nutzt du dafür allerdings die Dbal-Connection, die ebenfalls einen QueryBuilder anbietet, ähnlich dem EntityManager, jedoch deutlich performanter arbeitet.
Alternativ ist natürlich auch Plain-SQL okay.
den Entity Manager vermeiden wir so gut es geht im Frontend, da dieser nicht zwangsweise die beste Performance hat.
Nichtsdestotrotz solltest du ganz normal auf die Models des anderen Plugins zugreifen und diese nutzen können.
Wo finde ich nähere Infos wie die Models eingesetzt werden z.B. wie ich diese im Template oder innerhalb eines Plugins verwende? In diesem Kapitel (Dev Guide / Models) geht es ja soweit ich richtig verstanden habe lediglich um die Erstellung von Models?! Mir fehlt die Verbindung des Model Kapitels mit z.B. dem Template oder der Verwendung des Models in einem Service.
Letztendlich hab ich das ganze über eine Native Query mit SQL Code abgefragt und die Daten einfach als ScalarEntity gemappt. Geht bestimmt auch schöner über ein richtiges Entity Mapping mit dem entsprechenden Model, dazu kenne ich mich mit den Shopware Doctrine Models noch zu wenig aus.