MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //home/artinside/www/lhh/source/Models/Ecommerce/Type.php
<?php

namespace Source\Models\Ecommerce;

use Source\Core\Model;

/**
 * Class Type
 * @package Source\Models\Ecommerce
 */
class Type extends Model
{
    /**
     * Post constructor.
     */
    public function __construct()
    {
        parent::__construct("types", ["id"], ["title", "uri", "description"]);
    }

    /**
     * @return Post
     */
    public function products(): Product
    {
        return (new Product())->find("type = :id", "id={$this->id}");
    }

    /**
     * @return bool
     */
    public function save(): bool
    {
        $checkUri = (new Type())->find("uri = :uri AND id != :id", "uri={$this->uri}&id={$this->id}");

        if ($checkUri->count()) {
            $this->uri = "{$this->uri}-{$this->lastId()}";
        }

        return parent::save();
    }

}