Stevebauman\Inventory\Traits\InventoryVariantTrait::createVariant PHP Метод

createVariant() публичный Метод

Creates a new variant instance, saves it, and returns the resulting variant.
public createVariant ( string $name = '', string $description = '', integer | string $categoryId = null, integer | string $metricId = null ) : boolean | Model
$name string
$description string
$categoryId integer | string
$metricId integer | string
Результат boolean | Illuminate\Database\Eloquent\Model
    public function createVariant($name = '', $description = '', $categoryId = null, $metricId = null)
    {
        $variant = $this->newVariant($name);
        $this->dbStartTransaction();
        try {
            if (!empty($description)) {
                $variant->description = $description;
            }
            if ($categoryId !== null) {
                $variant->category_id = $categoryId;
            }
            if ($metricId !== null) {
                $variant->metric_id = $metricId;
            }
            if ($variant->save()) {
                $this->dbCommitTransaction();
                $this->fireEvent('inventory.variant.created', ['item' => $this]);
                return $variant;
            }
        } catch (\Exception $e) {
            $this->dbRollbackTransaction();
        }
        return false;
    }