Files
2025-05-30 09:08:26 +02:00

65 lines
2.4 KiB
PHP

<?php
class EmpikProduct extends ObjectModel
{
public $id_product;
public $id_product_attribute;
public $product_export;
public $offer_export;
public $offer_price;
public $offer_price_reduced;
public $logistic_class;
public $condition;
public $export_original_price;
public static $definition = [
'table' => 'empik_product',
'primary' => 'id_empik_product',
'fields' => [
'id_product' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true],
'id_product_attribute' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true],
'product_export' => ['type' => self::TYPE_INT, 'validate' => 'isBool', 'required' => false],
'offer_export' => ['type' => self::TYPE_INT, 'validate' => 'isBool', 'required' => false],
'offer_price' => ['type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => false],
'offer_price_reduced' => ['type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => false],
'logistic_class' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => false],
'condition' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => false],
'export_original_price' => ['type' => self::TYPE_INT, 'validate' => 'isBool', 'required' => false],
],
];
public static function getById($productId, $productAttributeId = 0)
{
$sql = new DbQuery();
$sql->select('*');
$sql->from('empik_product');
$sql->where('id_product = '.(int)$productId);
$sql->where('id_product_attribute = '.(int)$productAttributeId);
$row = Db::getInstance()->getRow($sql);
if ($row) {
$empikProduct = new EmpikProduct();
$empikProduct->hydrate($row);
return $empikProduct;
}
return null;
}
public static function getOrCreate($productId, $productAttributeId = 0)
{
$empikProduct = self::getById($productId, $productAttributeId);
if (!$empikProduct) {
$empikProduct = new EmpikProduct();
$empikProduct->condition = 11;
$empikProduct->id_product = $productId;
$empikProduct->id_product_attribute = $productAttributeId;
$empikProduct->add();
}
return $empikProduct;
}
}