extraData; } /** * @param string $extraData * * @return $this */ public function setExtraData($extraData = null) { $this->extraData = $extraData; return $this; } /** * @return array */ public function jsonExtraData() { return json_decode($this->extraData, true); } /** * @param mixed $extraData * * @return ExtraDataTrait */ public function setJsonExtraData($extraData) { return $this->setExtraData(json_encode($extraData)); } /** * @param string $key * * @return mixed */ public function getData($key) { $extraData = $this->jsonExtraData(); $value = null; if (isset($extraData[$key])) { $value = $extraData[$key]; } return $value; } }