<?php namespace App\Models; /** * App\Models\Role * * @property int $id * @property string $name * @property string $slug * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property-read \Illuminate\Database\Eloquent\Collection|\Encore\Admin\Auth\Database\Administrator[] $administrators * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ArticleCategory[] $categorys * @property-read \Illuminate\Database\Eloquent\Collection|\Encore\Admin\Auth\Database\Permission[] $permissions * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role newQuery() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role query() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role whereSlug($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Role whereUpdatedAt($value) * @mixin \Eloquent */ class Role extends \Encore\Admin\Auth\Database\Role { protected static function boot() { parent::boot(); static::deleting(function ($model) { $model->administrators()->detach(); $model->permissions()->detach(); $model->categorys()->detach(); }); } public function categorys() { $pivotTable = ArticleCategoryRole::class; $relatedModel = ArticleCategory::class; return $this->belongsToMany($relatedModel, $pivotTable, 'role_id', 'article_category_id'); } }