Project

General

Profile

Bug #105317

Updated by Daniel Siepmann 2 days ago

Steps to reproduce: 

 # Create an Extbase Model with a property of Type <code>TYPO3\CMS\Core\Resource\Folder</code>. `TYPO3\CMS\Core\Resource\Folder`. 
 # Configure the property/column in TCA, see below example. 
 # Save record with empty value 
 # Map database record to model 

 Expected behaviour: <code>null</code> is assigned to property. 
 Actual behaviour: The <code>TypeError</code> is thrown. 

 Results of first debugging: 
 The <code>extbase/Classes/Persistence/Generic/Mapper/ColumnMapFactory.php</code> fails to properly set the type of relation in that scenario. I'd expect it to be <code>Relation::HAS_ONE</code>, but it is not set at all within: <code>setRelations()</code> 

 Example TCA: 
 <pre><code class="php"> 
         'files_folder' => [ 
             'exclude' => true, 
             'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.files_folder', 
             'description' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.files_folder.description', 
             'config' => [ 
                 'type' => 'folder', 
                 'size' => 1, 
                 'maxitems' => 1, 
                 // No effect, code returns without taking this into account. 
                 // 'relationship' => 'oneToOne', 
             ], 
         ], 
 </code></pre> 

 Ideas: 
 # Always set explicitly configured <code>relationship</code> value first as default. 
 # Set HAS_ONE properly in first condition of special folder handling.

Back