laravel-admin grid列表显示
$grid ->superior_name(‘上级地区’);
Model里面操作
public function area(){
return $this->hasOne('App\Model\Arealistmodel','id','upid');
}
public function getSuperiorNameAttribute(){
if($this->area){
$upid = self::getParentId($this ->area->id);
return self::getCategoryName(explode(',',$upid));
}
}
public static function getParentId($id){
$pid = '';
$parent_id = self::query()->where('id',$id)->pluck('upid')->first();
if($parent_id != 0){
$pid .= $parent_id;
$npids = self::getParentId($parent_id);
if(isset($npids))
$pid .= ','.$npids;
}
$pid = $id.','.$pid;
return trim($pid,',');
}
public static function getCategoryName($ids){
$name = '';
$categorys = self::query()->whereIn('id',$ids)
->orderBy('id')->get(['name']);
if(!empty($categorys)){
foreach ($categorys as $k=>$v){
if($k < 10){
$name .= $v->name.'-';
}
}
}
return trim($name,'-');
}