1. Go to this page and download the library: Download calebdw/laraflake 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/ */
calebdw / laraflake example snippets
use Godruoyi\Snowflake\Snowflake;
resolve('snowflake')->id(); // (string) "5585066784854016"
resolve(Snowflake::class)->id(); // (string) "5585066784854016"
use CalebDW\Laraflake\Facades\Snowflake;
use Illuminate\Support\Str;
snowflake()->id(); // (string) "5585066784854016"
Snowflake::id(); // (string) "5585066784854016"
Str::snowflakeId(); // (string) "5585066784854016"
return new class extends Migration
{
public function up(): void
{
Schema::create('comments', function(Blueprint $table) {
$table->snowflake()->primary();
$table->foreignSnowflake('user_id')->constrained()->cascadeOnDelete();
$table->foreignSnowflakeFor(Post::class)->constrained();
});
}
}
namespace App\Models;
use CalebDW\Laraflake\Concerns\HasSnowflakes;
class Post extends Model
{
use HasSnowflakes;
}
namespace App\Models;
use CalebDW\Laraflake\Concerns\HasSnowflakes;
class Post extends Model
{
use HasSnowflakes;
/** @inheritDoc */
public function uniqueIds(): array
{
return [$this->getKeyName(), 'slug'];
}
}
namespace App\Models;
use CalebDW\Laraflake\Casts\AsSnowflake;
use CalebDW\Laraflake\Concerns\HasSnowflakes;
class Post extends Model
{
use HasSnowflakes;
protected $casts = [
'id' => AsSnowflake::class,
'user_id' => AsSnowflake::class,
];
}
use CalebDW\Laraflake\Rules\Snowflake;
use Illuminate\Validation\Rule;
$request->validate([
'id' => ['
use Illuminate\Support\Str;
Str::isSnowflake('5585066784854016'); // (bool) true
use Godruoyi\Snowflake\SequenceResolver;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function register(): void
{
$this->app->bind(SequenceResolver::class, function() {
return new MySequenceResolver();
});
}
}