ฉันได้ผ่านบทช่วยสอนใน Magento 2 และสิ่งนี้ทำให้ฉันสับสนเล็กน้อย ฉันเห็นว่ามีสองวิธีที่เราสามารถอ่าน / เขียนเอนทิตีธุรกิจได้:
ดึงข้อมูล
ใช้วิธีการจากโรงงาน
$object = $this->myFactory->create();
$object->load($myId);
การใช้วิธีการเก็บข้อมูล
$repo = $this->myRepository();
$object = $repo->getById($myId);
บันทึกข้อมูล
ใช้วิธีการจากโรงงาน
$object = $this->myFactory->create();
$object->load($myId);
$object->setData('something', 'somethingDifferent')->save();
การใช้วิธีการเก็บข้อมูล
$repo = $this->myRepository();
$object = $repo->getById($myId);
$object->setData('something', 'somethingDifferent');
$repo->save($object);
ฉันยังสามารถเห็นว่าทั้งพื้นที่เก็บข้อมูลและชั้นโรงงานสามารถฉีดโดยใช้การฉีดพึ่งพา อย่างน้อยก็ทำให้ฉันสับสน
เมื่อใดที่เราควรใช้วิธีการจัดเก็บและวิธีการจากโรงงาน? การปฏิบัติที่ดีที่สุดที่เราต้องทำคืออะไร?