Source of file HasOneRelationList.php
Size: 1,283 Bytes - Last Modified: 2021-12-24T06:48:32+00:00
/var/www/docs.ssmods.com/process/src/src/ORM/HasOneRelationList.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | <?php namespace Fromholdio\MiniGridField\ORM; use SilverStripe\ORM\DataList; use SilverStripe\ORM\DataObject; /* * From silvershop/silverstripe-hasonefield */ class HasOneRelationList extends DataList { /** * @var DataObject */ protected $record; /** * @var string */ protected $name; /** * @var DataObject */ protected $parent; /** * HasOneRelationList constructor. * @param DataObject $parent * @param DataObject $record * @param string $name */ public function __construct(DataObject $parent, DataObject $record, $name) { $this->record = $record; $this->name = $name; $this->parent = $parent; parent::__construct($record->ClassName); } public function add($item) { $this->parent->setField("{$this->name}ID", $item->ID); $this->parent->write(); } public function remove($item) { $item->delete(); $this->parent->setField("{$this->name}ID", 0); $this->parent->write(); } public function hasRecord() { $parent = $this->parent; $field = $this->name . 'ID'; if ($parent->{$field}) { return true; } return false; } } |