زمانی که میخواهیم دادهها را map کنیم، نیاز هست که داده درختی (گراف) را وارد کنیم. مثلا یک فاکتور خرید خودش شامل مجموعهای از سطرهای خرید است. معمولا برای این کار از Child Mapper یا نگاشت فرزند استفاده میشود. میخوام بدانم کاربرد دقیق این نوع نگاشت داده چیست؟
1 پاسخ
هر گاه شما با یک فیلد روبرو شدید که مقدار آن یک آرایه از موجودیتهای دیگر هست، در این حالت باید از Children Mapper استفاده کنید. در این حالت mapper در یک حلقه تمام موارد را تک به تک به نگاشت فرزند ارسال میکند. بعد نتیجه نهایی را ترکیب و یک داده کلی ایجاد میکند. برای تعیین نگاشت فرزند از روش زیر استفاده میشود:
children = [("lineItems", "order_line", "sale.order.line")]
در این تاپل، اولین مقدار نام خصوصیتی است که از ورودی داده باید برداشته شود (لیستی از موجودیتهای دیگر). مقدار دوم کلیدی است که باید نتیجه در آن ذخیره شود. مقدار سوم، _apply_on را تعیین میکند که باید یک نگاشت با این نوع انتخاب شود.
در عمل سیستم به دنبال یک نگاشت دیگر از نوع تعیین شده پیدا میکند و از آن برای تبدیل تک تک سطرها استفاده میکند.