65 lines
2.4 KiB
PHP
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;
|
|
}
|
|
}
|