Fehler nach Update

  • MajPay MajPay
    Jedi-Meister
    0 x
    345 Beiträge
    2 Hilfreiche Beiträge
    04. 09. 2012, 10:28

    Hallo,

    Nachdem ich in meinem Testprojekt auf die Beta1 (von Alpha3) aktualisiert habe bekomme ich einen Fehler.

    Der Fehler:
    #1231178878: Given property name is not of type string. (More information)

    ObjectAccess erwartet auf jeden Fall einen String als $propertyName, da ich aber in einem Form ein Object per select ausgeben lasse (Eine Optionlist) waren meine Keys ein index und die value die uid der Datensätze, der Post kommt am Webserver wie folgt an:

    1. array(1) {
    2. ["tx_testcompany_companies"]=>
    3. array(3) {
    4. ["__referrer"]=>
    5. array(3) {
    6. ["extensionName"]=>
    7. string(11) "TestCompany"
    8. ["controllerName"]=>
    9. string(8-) "Location"
    10. ["actionName"]=>
    11. string(3) "new"
    12. }
    13. ["__hmac"]=>
    14. string(231) "a:4:{s:8:\"location\";a:4:{s:7:\"address\";i:1;s:7:\"zipcode\";i:1;s:7:\"country\";i:1;s:8:\"branches\";a:2:{i:0;i:1;i:1;i:1;}}s:7:\"company\";i:1;s:6:\"action\";i:1;s:10:\"controller\";i:1;}383f73d16488d282f421ee104bf6ed7f62b0c75e"
    15. ["location"]=>
    16. array(4) {
    17. ["address"]=>
    18. string(8-) "Am Weg 2"
    19. ["zipcode"]=>
    20. string(4) "9020"
    21. ["country"]=>
    22. string(10) "Klagenfurt"
    23. ["branches"]=>
    24. array(1) {
    25. [0]=>
    26. string(1) "2"
    27. }
    28. }
    29. }
    30. }

    Der fehler kommt vom tx_testcompany_companies[location][branches][0]=2

    Im Location Model sieht das so aus:

    1. /**
    2.  * @var Tx_Extbase_Persistence_ObjectStorage<Tx_TestCompany_Domain_Model_Branch>
    3.  */
    4. protected $branches;

    Template:

    1. <f:form.select property="branches" options="{branches}" multiple="multiple" optionLabelField="name"></f:form.select>

    Ich habe keine Lust hier irgendwas rumzuwurschteln, so wie hier gebaut erscheint es mir logisch.

    Muss man nun alle keys (auch in solchen Selects) zb als branch0 benennen oder ist das ein Bug im aktuellen Extbase?


  • 0 x
    22 Beiträge
    0 Hilfreiche Beiträge
    20. 09. 2012, 09:41

    Vielen Dank für Deine Hinweise!
    Ich hatte nach dem Update von alpha3 auf beta1 auch diverse Fehlermeldungen und war ziemlich ratlos.

    Die korrekte Auszeichnung ist glaube ich mit einem root-Backslash:

    1. \TYPO3\CMS\Extbase\Persistence\Generic\ObjectStorage

  • 0 x
    64 Beiträge
    0 Hilfreiche Beiträge
    17. 07. 2013, 19:59

    Ein weiteres Dankeschön von mir.
    Hab die Lösung zwar selbst gefunden, aber sie entspricht deinen Ermittlungen.
    Model:

    1. /**
    2.  * @var Tx_Extbase_Persistence_ObjectStorage<Tx_MyExt_Domain_Model_Investigator>
    3.  */
    4. protected $investigator;

    Wirft die Fehlermeldung:
    1. Exception while property mapping at property path "investigator":
    2. No converter found which can be used to convert from "array" to
    3. "Tx_Extbase_Persistence_ObjectStorage"

    Umwandlung nach Namespaces behebt den Fehler:
    1. /**
    2.  * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<Tx_MyExt_Domain_Model_Investigator>
    3.  */
    4. protected $investigator;

    [url=http://stackoverflow.com/questions/17678204/typo3-fluid-map-mn-values-from-multiple-select-form-to-model]Quelle[/url]

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    21. 10. 2013, 22:46

    Das Problem scheint immer noch zu bestehen - ist vor allem dann blöd, wenn man für die Community eine Extension zur Verfügung stellen will, die in 4.7 und 6.x laufen soll :(

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/