Exporting large amounts of data in Laravel
An opinionated approach on how best to handle exporting large amounts of data in Laravel using commands and queues.
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
trait HasUuid
{
/**
* Generate a new UUID for the given model.
*
* @return void
*/
public static function bootHasUuid(): void
{
static::creating(function (Model $model) {
$model->uuid = self::generateUuid();
});
static::updating(function (Model $model) {
if (empty($model->uuid)) {
$model->uuid = self::generateUuid();
}
});
}
/**
* Generate a random UUID.
*
* @return string
*/
public static function generateUuid(): string
{
do {
$uuid = (string) Str::uuid();
$exists = self::where('uuid', $uuid)->exists();
} while ($exists);
return $uuid;
}
}
An opinionated approach on how best to handle exporting large amounts of data in Laravel using commands and queues.
How to setup a Laravel Markdown editor and convert the markdown to HTML easy.
Laravel aliases are shortcuts for long namespaces in your code. They make your code cleaner and more readable, enhancing developer productivity.