Skip to content

vcoder7/ltools

Repository files navigation

lTools - Features

Laravel helper tools

Installation

composer require vcoder7/ltools
php artisan ltools:cache-clear
  1. Add to your migration $table->uuid()->unique();
  2. Add to your model:
namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Vcoder7\Ltools\Http\Traits\CreateUuidTrait;

class MyModel extends Model
{
    use HasFactory, CreateUuidTrait;
}

The Str::initials() macro returns the uppercase initials of a given name string. It intelligently trims whitespace and handles multi-word names.

Usage:

use Illuminate\Support\Str;

Str::initials('John Peter Smith'); // Returns: "JPS"

Setup:

Publish config:

php artisan vendor:publish --tag=ltools-config

Publish migrations:

php artisan vendor:publish --tag=ltools-migrations

Enable changelogs for one model, add to the model Vcoder7\Ltools\Http\Traits\RecordChangesTrait

Example:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Vcoder7\Ltools\Http\Traits\RecordChangesTrait;

class Page extends Model
{
    use RecordChangesTrait;
}

Exclude fields from change logging

Add to your model:

protected array $excludedChangelogFields = ['created_at', 'updated_at', 'email', 'secret_key'];

Get changelogs for model

$page = Page::find(1);
$changelogs = $page->changelogs;