[TYPO3-german] Extbase macht mich verrückt

Marc Willmann typo3 at marc-willmann.de
Tue Mar 10 09:41:25 CET 2015


Am 09.03.15 17:55, schrieb Christian Leicht:
> Muss dann für jedes Feld einer Datenbankabfrage ein Modul Eintrag
> erstellt werden?
> 
> Ich rufe ja aus meiner Extension heraus die fe_users Datenbank auf und
> möchte auf die Felder zugreifen. Leider kommt im Controller nichts an.
> 
> Im Repository:
> public function showFeuser($userid){
> 
>             $query = $this->createQuery();
>             $query->statement("SELECT * FROM fe_users WHERE uid =
> '".$userid."'");
> 
>             return $query->execute();
>     }

Im Repository nichts um im Controller

$this->wwlfeuserfilesRepository->findByUid($uid)

ist doch viel einfacher? ;-)

und lass _grundsätzlich_ die SQL-Statements im Repo (die braucht man nur
für Ausnahmefälle) und verwende stattdessen die Extbase-Methoden.

> Im Controller:
> $wwlfeuserfiles =
> $this->wwlfeuserfilesRepository->showFeuser($user['uid']);
> 
> 
> Und $wwlfeuserfiles ist bis auf uid und pid leer.
> 
> Christian
> 
> 
> 
> 
> 
> 
> 
> Am 09.03.2015 um 16:23 schrieb Stephan Schuler:
> Hallo zusammen.
> 
> 
> Meine Vermutungen wären (mit absteigender Wahrscheinlichkeit):
> * Das Model ist falsch oder nicht annotiert.
> * Die Properties des Models haben (namentlich) nichts mit den Columns
> der Tabelle zu tun.
> * Der Cache ist nicht hinreichend gecleared.
> * Vielleicht gibt es gar kein passendes Model. Wobei ich dann erwarten
> würde dass überhaupt nichts geht, der PropertyMapper wird ja
> hoffentlich nicht auf eine StdClass zurückfallen und das
> AbstractDomainObject ist nicht umsonst abstract.
> 
> Dass die Fehlerbeschreibung "an Fluid und kann es auch auflisten"
> beinhaltet zeigt mir: Die notwendigen Werkzeuge werden nicht genutzt.
> 
> Sieh bitte zu dass du einen Debugger ans Laufen bekommst. Verwende
> eine IDE die mit xdebug klar kommt, dazu einen Webserver der xdebug
> verwendet und dann setz einen Breakpoint in die Zeile des
> "$this->view->assign()".
> 
> Das hätte nämlich auch schon heute Mittag offengelegt, dass das
> Repository ganz banal nicht in die Klasse injected wurde.
> 
> Natürlich *kann* man jetzt auch mit dem "f:debug()"-ViewHelper
> hantieren. Das macht aber keinen Spaß. Zumal Du ja eigentlich
> überhaupt kein Fluid debuggen möchtest, Fluid geht ja offensichtlich.
> 
> 
> Pro-Tip:
> Das was du gerade als Statement treibst geht übrigens schöner,
> einfacher und erfordert nicht mal eine zusätzliche Methode im Repository.
> 
> Das QueryResultInterface schreibt "getFirst()" vor, und das
> Generic/QueryResult ist so schlau, einen bestehenden Query durch ein
> "setLimit(1)" zu erweitern.
> 
> https://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_persistence_1_1_repository.html#a73a1b0348919b6755e4f69dcc70eba64
> 
> 
> https://typo3.org/api/typo3cms/interface_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_persistence_1_1_query_result_interface.html#acac359f9ae56b80c7979f4a4feb736e5
> 
> 
> https://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_persistence_1_1_generic_1_1_query_result.html#acac359f9ae56b80c7979f4a4feb736e5
> 
> https://typo3.org/api/typo3cms/_query_result_8php_source.html#l00098
> 
> 
> Gruß,
> 
> 
> 
> Stephan Schuler
> Web-Entwickler | netlogix Media
> 
> Telefon: +49 (911) 539909 - 0
> E-Mail: Stephan.Schuler at netlogix.de
> Web: media.netlogix.de
> 
> 
> 
> 
> netlogix GmbH & Co. KG
> IT-Services | IT-Training | Media
> Neuwieder Straße 10 | 90411 Nürnberg
> Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
> E-Mail: info at netlogix.de | Web: http://www.netlogix.de
> 
> netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA
> 13338)
> Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB
> 20634)
> Umsatzsteuer-Identifikationsnummer: DE 233472254
> Geschäftsführer: Stefan Buchta, Matthias Schmidt
> 
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org
> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Georg Ringer
> Gesendet: Montag, 9. März 2015 14:30
> An: typo3-german at lists.typo3.org
> Betreff: Re: [TYPO3-german] Extbase macht mich verrückt
> 
> Am 2015-03-09 um 13:59 schrieb Marc Willmann:
>>>> teilweise. Das @inject ist z.B. wichtig. Google nach "Dependency
>>>> Injection". Einmal verstanden willst Du nie wieder ohne DI
>>>> programmieren.
> 
> ich empfehle das @inject wegzulassen und injectmethoden zu verwenden
> da die einiges schneller sind!
> 
> lg georg
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

-- 
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de

Seelandstr. 14-16
D-23569 Lübeck

TYPO3 Certified Integrator


More information about the TYPO3-german mailing list