PHP code example of bernardomacedo / laravel-skuable

1. Go to this page and download the library: Download bernardomacedo/laravel-skuable library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

bernardomacedo / laravel-skuable example snippets


$model = new EloquentModel();
$model->name = 'activerecord is awesome';
$model->save();

echo $model->Sku; // ouputs "ACT-7655677"



namespace App;

use Bernardomacedo\Skuable\HasSku;
use Bernardomacedo\Skuable\SkuOptions;
use Illuminate\Database\Eloquent\Model;

class YourEloquentModel extends Model
{
    use HasSku;
    
    /**
     * Get the options for generating the Sku.
     */
    public function getSkuOptions() : SkuOptions
    {
        return SkuOptions::create()
            ->generateSkusFrom('name')
            ->saveSkusTo('Sku');
    }
}

public function getSkuOptions() : SkuOptions
{
    return SkuOptions::create()
        ->generateSkusFrom(['first_name', 'last_name'])
        ->saveSkusTo('Sku');
}

public function getSkuOptions() : SkuOptions
{
    return SkuOptions::create()
        ->generateSkusFrom('name')
        ->saveSkusTo('Sku')
        ->allowDuplicateSkus();
}

public function getSkuOptions() : SkuOptions
{
    return SkuOptions::create()
        ->generateSkusFrom('name')
        ->saveSkusTo('Sku')
        ->SkusShouldBeNoLongerThan(50);
}

public function getSkuOptions() : SkuOptions
{
    return SkuOptions::create()
        ->generateSkusFrom('name')
        ->saveSkusTo('Sku')
        ->usingSeparator('_');
}

public function getSkuOptions() : SkuOptions
{
    return SkuOptions::create()
        ->generateSkusFrom('name')
        ->saveSkusTo('Sku')
        ->usingLanguage('nl');
}

$model = EloquentModel:create(['name' => 'my name']); //Sku is now "my-name"; 
$model->Sku = 'my-custom-url';
$model-save(); //Sku is now "my-custom-url"; 

public function getSkuOptions() : SkuOptions
{
    return SkuOptions::create()
        ->generateSkusFrom('name')
        ->saveSkusTo('Sku')
        ->doNotGenerateSkusOnCreate();
}

public function getSkuOptions() : SkuOptions
{
    return SkuOptions::create()
        ->generateSkusFrom('name')
        ->saveSkusTo('Sku')
        ->doNotGenerateSkusOnUpdate();
}

$model = EloquentModel:create(['name' => 'my name']); //Sku is now "my-name"; 
$model-save();

$model->name = 'changed name';
$model->save(); //Sku stays "my-name"