3declare(strict_types=1);
149 if (is_null($this->
id)) {
151 $data = $this->
raw(self::FIELD_ID);
152 if (is_null($data)) {
155 $this->
id = (int) $data;
169 if (is_null($this->sku)) {
171 $data = $this->
raw(self::FIELD_SKU);
172 if (is_null($data)) {
175 $this->sku = (string) $data;
190 if (is_null($this->key)) {
192 $data = $this->
raw(self::FIELD_KEY);
193 if (is_null($data)) {
196 $this->key = (string) $data;
211 if (is_null($this->prices)) {
213 $data = $this->
raw(self::FIELD_PRICES);
214 if (is_null($data)) {
217 $this->prices = PriceCollection::fromArray($data);
231 if (is_null($this->attributes)) {
233 $data = $this->
raw(self::FIELD_ATTRIBUTES);
234 if (is_null($data)) {
252 if (is_null($this->price)) {
254 $data = $this->
raw(self::FIELD_PRICE);
255 if (is_null($data)) {
259 $this->price = PriceModel::of($data);
273 if (is_null($this->images)) {
275 $data = $this->
raw(self::FIELD_IMAGES);
276 if (is_null($data)) {
279 $this->images = ImageCollection::fromArray($data);
293 if (is_null($this->assets)) {
295 $data = $this->
raw(self::FIELD_ASSETS);
296 if (is_null($data)) {
299 $this->assets = AssetCollection::fromArray($data);
315 if (is_null($this->availability)) {
317 $data = $this->
raw(self::FIELD_AVAILABILITY);
318 if (is_null($data)) {
337 if (is_null($this->isMatchingVariant)) {
339 $data = $this->
raw(self::FIELD_IS_MATCHING_VARIANT);
340 if (is_null($data)) {
343 $this->isMatchingVariant = (bool) $data;
359 if (is_null($this->scopedPrice)) {
361 $data = $this->
raw(self::FIELD_SCOPED_PRICE);
362 if (is_null($data)) {
381 if (is_null($this->scopedPriceDiscounted)) {
383 $data = $this->
raw(self::FIELD_SCOPED_PRICE_DISCOUNTED);
384 if (is_null($data)) {
387 $this->scopedPriceDiscounted = (bool) $data;
402 if (is_null($this->recurrencePrices)) {
404 $data = $this->
raw(self::FIELD_RECURRENCE_PRICES);
405 if (is_null($data)) {
408 $this->recurrencePrices = PriceCollection::fromArray($data);