PHP code example of khalyomede / laravel-eloquent-uuid-slug
1. Go to this page and download the library: Download khalyomede/laravel-eloquent-uuid-slug 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/ */
khalyomede / laravel-eloquent-uuid-slug example snippets
// routes/web.php
use App\Models\Cart;
use Illuminate\Support\Facades\Route;
// --> What you see
Route::get("/cart/{cart}", function(Cart $cart) {
// $cart ready to be used
});
// --> What happens behind the scene
Route::get("/cart/{cart}", function(string $identifier) {
$cart = Cart::findOrFail($identifier);
// $cart ready to be used
});
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Khalyomede\EloquentUuidSlug\Sluggable;
class Cart extends Model
{
use Sluggable;
}
use App\Models\Cart;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
final class CreateCartsTable extends Migration
{
public function up(): void
{
Schema::create('carts', function (Blueprint $table): void {
$table->id();
$table->string('name');
Cart::addSlugColumn($table);
$table->timestamps();
});
}
public function down(): void
{
Schema::drop('carts');
}
}
use App\Models\Cart;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
final class CreateCartsTable extends Migration
{
public function up(): void
{
Schema::create('carts', function (Blueprint $table): void {
$table->id();
$table->string('name');
Cart::addUnconstrainedSlugColumn($table);
$table->timestamps();
});
}
public function down(): void
{
Schema::drop('carts');
}
}
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Khalyomede\EloquentUuidSlug\Sluggable;
class Cart extends Model
{
use Sluggable;
public function slugColumn(): string
{
return 'code';
}
}
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Khalyomede\EloquentUuidSlug\Sluggable;
class Cart extends Model
{
use Sluggable;
public function slugWithDashes(): bool
{
return true;
}
}
// routes/web.php
use App\Models\Cart;
use Illuminate\Support\Facades\Route;
// --> What you see
Route::get("/cart/{cart:id}", function(Cart $cart) {
// $cart ready to be used
});
// routes/web.php
use App\Models\Cart;
use Illuminate\Support\Facades\Route;
// --> What you see
Route::get("/cart/{cart}", function(string $identifier) {
$cart = Cart::findOrFail($identifier);
// $cart ready to be used
});
use App\Models\Cart;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
final class CreateCartsTable extends Migration
{
public function up(): void
{
Schema::create('carts', function (Blueprint $table): void {
$table->id();
$table->string('name');
Cart::addSlugColumn($table)
->after('name')
->comment('Auto-generated by a package.');
$table->timestamps();
});
}
public function down(): void
{
Schema::drop('carts');
}
}
// routes/web.php
use App\Models\Cart;
use Illuminate\Support\Facades\Route;
Route::get("/cart/{cart}", function(string $identifier) {
$cart = Cart::withSlug($identifier)->firstOrFail();
// $cart ready to be used
});
// routes/web.php
use App\Models\Cart;
use Illuminate\Support\Facades\Route;
Route::get("/cart/{cart}", function(string $identifier) {
$cart = Cart::findBySlugOrFail($identifier);
$cart = Cart::findBySlug($identifier);
$cart = Cart::where("id", ">=", 1)->firstBySlug($identifier);
$cart = Cart::where("id", ">=", 1)->firstBySlugOrFail($identifier);
// $cart ready to be used
});
use App\Models\Cart;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
final class DropSlugColumnOnCartsTable extends Migration
{
public function up(): void
{
Schema::create('carts', function (Blueprint $table): void {
Cart::dropSlugColumn($table);
});
}
public function down(): void
{
Schema::table('posts', function (Blueprint $table): void {
Cart::addUnconstrainedSlugColumn($table);
});
Schema::table('posts', function (Blueprint $table): void {
Cart::fillEmptySlugs();
Cart::constrainSlugColumn($table);
});
}
}
"post_id" => "exists:posts,slug"
// app/Http/Controllers/PostController.php
namespace App\Http\Controllers;
use App\Models\Post;
use Illuminate\Support\Facades\Validator;
use Khalyomede\EloquentUuidSlug\Rules\ExistsBySlug;
class PostController extends Controller
{
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
"post_id" => ["
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.