tomschlick/laravel-linkable

URL binding for Laravel models
34,647 25
Install
composer require tomschlick/laravel-linkable
Latest Version:v4.0
PHP:>=7.3
License:MIT
Last Updated:Jul 18, 2021
Links: GitHub  ·  Packagist
Maintainer: tomschlick

Laravel Linkable

StyleCI Build Status Latest Stable Version Total Downloads License

Linkable allows you to bind named routes directly to your Eloquent models. It has been tested with Laravel 5.0 and above (although it may work on older versions as well).

Making calls to route() each time you need to generate a url can be cumbersome and makes your Blade files unreadable. Instead with Linkable, you can use this syntax to generate a url:

    $model->link()

That's it! Check out the full usage below.

Install via Composer

  composer require tomschlick/laravel-linkable

Add to your model(s) and implement the interface

class User extends Model
{
    use TomSchlick\Linkable\Linkable;
    
    public function sublink(string $key, array $attr = []) : string
    {
        return route("users.$key", [
                'user_id' => $this->id, // 'user_id' is the name of the parameter in the users.* route group
                ] + $attr);
    }
}

Usage

$model->link(); // Link for the resource (example: https://your-site.com/user/7)

$model->sublink('edit'); // SubLink for the resource (example: https://your-site.com/user/7/edit)
    
$model->sublink('photos.show', ['photo_id' => 1234]); // SubLink for the resource (example: https://your-site.com/user/7/photos/1234)
    
$model->redirect(); // Generates a redirect response to the resource to use in a controller return statement.
    
$model->sublinkRedirect('edit'); // Generates a redirect response to the resource's edit page to use in a controller return statement.

Related Packages

erirk/paypalpayment

laravel-paypalpayment is simple package help you process direct credit card paym...

0
gabrieloliverio/laravel5-generators

Database metadata-based generators for Laravel 5

1
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

614,907,009 9,702
laravel/framework

The Laravel Framework.

558,184,770 34,846
laravel/tinker

Powerful REPL for the Laravel framework.

468,807,761 7,441