AdminPermission.php 669 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Support\Collection;
  5. class AdminPermission extends Model
  6. {
  7. protected $fillable = ['name', 'routes'];
  8. protected $connection = 'write';
  9. public function roles()
  10. {
  11. return $this->belongsToMany(AdminRole::class);
  12. }
  13. protected function setRoutesAttribute($routes)
  14. {
  15. if (!($routes instanceof Collection)) {
  16. $routes = new Collection($routes);
  17. }
  18. $this->attributes['routes'] = $routes->implode(',');
  19. }
  20. protected function getRoutesAttribute($routeStr)
  21. {
  22. return new Collection(explode(',', $routeStr));
  23. }
  24. }