File: /home/artinside/sites.artinside.com.br/paliar/source/Models/Ecommerce/Collection.php
<?php
namespace Source\Models\Ecommerce;
use Source\Core\Model;
/**
* Class Collection
* @package Source\Models\Ecommerce
*/
class Collection extends Model
{
/**
* Collection constructor.
*/
public function __construct()
{
parent::__construct("collections", ["id"], ["title", "uri", "description"]);
}
/**
* @return Post
*/
public function products(): Product
{
return (new Product())->find("type = :id", "id={$this->id}");
}
/**
* @param string $uri
* @param string $columns
* @return null|Category
*/
public function findByUri(string $uri, string $columns = "*"): ?Collection
{
$find = $this->find("uri = :uri", "uri={$uri}", $columns);
return $find->fetch();
}
/**
* @return bool
*/
public function save(): bool
{
$checkUri = (new Collection())->find("uri = :uri AND id != :id", "uri={$this->uri}&id={$this->id}");
if ($checkUri->count()) {
$this->uri = "{$this->uri}-{$this->lastId()}";
}
return parent::save();
}
}