Traits

HasAttachment

use Bnb\Laravel\Attachments\HasAttachment;

Quickly attach files to your models, retrievable by key, group name or using the Eloquent relationship. Read full documentation on https://github.com/bnbwebexpertise/laravel-attachments

HasTranslations

use Spatie\Translatable\HasTranslations;

A trait to make Eloquent models translatable. Read full documentation on https://github.com/spatie/laravel-translatable

Taggable

use Conner\Tagging\Taggable;

Tag support for Laravel Eloquent models. Read full documentation on https://github.com/rtconner/laravel-tagging

HasSef

use TaffoVelikoff\LaravelSef\Traits\HasSef;

Search engine friendly URL for Eloquent models. Read full documentation on https://packagist.org/packages/taffovelikoff/laravel-sef

HasAccessRole

use TaffoVelikoff\HotCoffee\Traits\HasAccessRole;

A trait that allows you to assign access roles to Eloquent models. You can assign what user roles have the privilege view a model. Here is an example on how to assign roles and then authorize the user.

namespace App\Http\Controllers\Admin;

use App\InfoPage;
use App\Http\Controllers\Controller;

class InfoPageController extends Controller
{
    /**
    * Store a page
    */
    
    public function store() {
        // Create a product
        $info = InfoPage::create(request()->all());
        
        // Attach access roles
        $info->access_roles()->attach(request()->roles);
    }
}
namespace App\Http\Controllers\Front;

use App\InfoPage;
use App\Http\Controllers\Controller;

class InfoPageController extends Controller
{

		/**
		* View a page
		*/
				
		public function index($id) {
				
		 		// Find page
				$page = InfoPage::findOrFail($id);
				
				// Authorize users
				$page->authorizeAccess();
				
				// Display view
				return view('front.infopage', compact('page'));
		}
}

authorizeAceess() will check if user is logged in, has one of the assigned access roles and abort with 401 unauthorized error if not.

Last updated