On 02/04/2018 02:09 PM, Roman Daniel wrote:
Also your example with CD and liner_notes is very different from mine.
You are absolutely correct. Apologies, I misread your question
pre-coffe. Your *actual* relationship-type is "belongs_to", see the same
RT comment I linked earlier.
All I wanted from multi-creation was to create related record first
without any attempt to find it before (and reuse its id). The more I
look into DBIC code, the more it seems to me that is impossible to
define relationships that way and I will need to create the related
object first manually. Am I correct?
Almost. "multicreate" heavily depends on how the "directionality" of the
structure you give it maps to the directions of the dependency-type (
belongs_to vs might_have/has_many ).
When your "nested" portion of the multicreate structure is "a thing that
I refer to which can bestandalone" - a find is fired before the create
invariably ( what you are observing ).
You still *can* use the multicreate functionality by reversing the
order: create an address that includes as a sub-structure the customer.
Then everything will work as you expect. If this is undesirable ( your
main return value will be the address ) then you can could:
my $cust = ->result("Address")->create( \%addr_data )->create_related(
Hope this helps!
Searchable Archive: http://firstname.lastname@example.org