共计 1252 个字符,预计需要花费 4 分钟才能阅读完成。
咱们心愿可能做一个性能,这个性能是给 admin_user 加一个 viewself 字段,当拜访文章治理性能时,如果开启此字段,只展现 admin 用户本人的文章。
首先咱们在数据库中给 admin_user 增加一个字段
20200702140148
新建一个 Model 继承 Administrator,增加本人的字段
app\Models\CustomAdministrator.php
<?php
namespace App\Models;
use Encore\Admin\Auth\Database\Administrator;
class CustomAdministrator extends Administrator
{public function __construct( array $attributes = [] ) {parent::__construct( $attributes);
array_push($this->fillable, 'viewself');
}
}
新建一个 controller 继承 UserController
app\Admin\Controllers\CustomUserController.php
<?php
namespace App\Admin\Controllers;
use Encore\Admin\Controllers\UserController;
class CustomUserController extends UserController {protected function grid() {$g = parent::grid();
//$g->column('viewself', '只看本人');
$states = ['on' => ['text' => 'YES'],
'off' => ['text' => 'NO'],
];
$g->viewself()->switch($states);
return $g;
}
public function form() {$f = parent::form();
$f->switch('viewself','只看本人');
return $f;
}
}
笼罩原来的 adminuser 的路由器
$router->resource('auth/users', CustomUserController::class);
从新拜访
http://localhost:8000/admin/a…
就能够了
还未完哦!
来到文章治理,咱们还要为文章增加管制显示,让开启 viewself 的用户只能查看本人的文章
来到:app\Admin\Controllers\PostsController.php
protected function grid()
{$grid = new Grid(new Posts);
// 获取本人权限下的内容
$username = Admin::user()->viewself;
if($username == 1){$grid->model()->where ('author_id', '=', Admin::user()->id);
}
}
正文完