|
目前FastAdmin后台index方法支持一对一关联查询,比如我们通过管理员ID查管理员账号和昵称
------------------------------------------------
首先我们需要在当前控制器中添加以下属性
protected $relationSearch = true;
然后我们修改(修改的地方为红色,为目标表名,index方法可以从application/admin/library/traits/Backend.php里复制)控制器的index方法,代码如下:
$list = $this->model
->with(["admin"])
->where($where)
->order($sort, $order)
->paginate($limit);
如果需要展示并有搜索功能,在上边合适位置加,注意结尾有个分号
protected $searchField=["admin_id","admin.username","admin.nickname"];
----------------------------
然后在控制器对应的model(非关联model)中添加以下代码,admin_id为当前表里记录的管理员id的字段名:
public function admin()
{
return $this->belongsTo('admin', 'admin_id')->setEagerlyType(0);
}
---------------------------
最后在/public/assets/js/backend/user/xxx.js中修改显示
{field: 'id', title: 'ID', operate: '='},类似这样合适的地方下边加
{field: ' admin_id', title: '管理员ID'},
{field: ' admin.username', title: '管理员名称'},
{field: ' admin.nickname', title: '管理员昵称'},
但此时后台关联查询,是把整个admin表都查出来的,我们可以稍微做下安全防范,当然,如果后台只是自己一个人用,无所谓
|
|