Source of file Record.php
Size: 1,449 Bytes - Last Modified: 2021-12-24T06:39:27+00:00
/var/www/docs.ssmods.com/process/src/src/ORM/Record.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | <?php namespace ChrisPenny\DataObjectToFixture\ORM; use SilverStripe\Core\Injector\Injectable; class Record { use Injectable; /** * @var int|string|null */ private $id; /** * @var array */ private $fields = []; /** * @param mixed $id */ public function __construct($id) { $this->id = $id; } /** * @return int|string|null */ public function getId() { return $this->id; } /** * @return array */ public function getFields(): array { return $this->fields; } /** * @param string $fieldName * @param mixed $value * @return Record */ public function addFieldValue(string $fieldName, $value): Record { $this->fields[$fieldName] = $value; return $this; } /** * @param string $forClass * @return Record */ public function removeRelationshipValueForClass(string $forClass): Record { foreach ($this->fields as $fieldName => $fieldValue) { $pattern = sprintf('/=>%s.[0-9]+/', addslashes($forClass)); if (!preg_match($pattern, $fieldValue)) { continue; } unset($this->fields[$fieldName]); } return $this; } /** * @return bool */ public function isNew(): bool { return count($this->fields) === 0; } } |