[TYPO3-mvc] Conceptual Question with RELATION_HAS_ONE
Jeff Segars
jsegars at alumni.rice.edu
Thu Jul 2 23:14:12 CEST 2009
Sebastian Fischer wrote:
> Jeff Segars schrieb:
>> Hey guys,
>> I know things are in a bit of flux with all the persistence work
>> underway but I wanted throw out what is probably an obvious question
>> on a simple field with RELATION_HAS_ONE.
>>
>> Inside the extbase test cases,
>> Tx_Extbase_Persistence_Mapper_DataMap_testcase contains a TCA
>> definition for a blog author that references an author table rather
>> than just being an input field as it is in blog_example. Since it's
>> already in the test case, seems like a good example for my question :)
>>
>>> 'author' => array(
>>> 'exclude' => 1,
>>> 'label' =>
>>> 'LLL:EXT:blog_example/Resources/Language/locallang_db.xml:tx_blogexample_domain_model_blog.author',
>>>
>>> 'config' => array(
>>> 'type' => 'select',
>>> 'foreign_class' => 'Tx_BlogExample_Domain_Model_Author',
>>> 'foreign_table' => 'tx_blogexample_domain_model_author',
>>> 'maxitems' => 1,
>>> )
>>> ),
>>
>> From what I can see of the persistence framework (both in trunk and
>> in persistence rewrite) it expects that this simple relation also
>> provides a foreign_field and foreign_table field so that the relation
>> is saved in the child table rather than the parent table.
>>
>> This of course doesn't match the blog model that would allow the same
>> author to be assigned multiple blogs and doesn't work with the backend
>> select type that saves a UID directly in the parent table.
>>
>> It seems like I must be missing something obvious here so if anyone
>> can enlighten me, it would be greatly appreciated ... and if the
>> answer is "I'm busy...wait for the persistence rewrite to get done and
>> it will all work" that's perfectly fine too ;)
>>
>> Thanks,
>> Jeff
>
> Hi Jeff,
>
> i guess, but i expect to have one answer here, "take a mm relation", but
> i agree with you, it should be possible to store the authers id in the
> blog model and not always store the blog in the author. So it should be
> possible to get it work without the foreign_table field in the author
> model.
>
> As seen in http://en.wikipedia.org/wiki/File:ERD_Representation.svg the
> Chen notain could go with an extra table birthplace, but like in IDEF1X
> is also possible to store the place id in the persons dataset.
>
> Greetings
> Sebastian
Thanks for the response :) Using an MM relation has been my temporary
workaround but I'm not too fond of dealing with an array when i just
want a single object.
Hopefully, we'll get some word on the *right* way to do this soon.
Thanks,
Jeff
More information about the TYPO3-project-typo3v4mvc
mailing list