laravel-admin 模型详情关联显示

模型详情为

class CheckLog extends Model
{
    use SoftDeletes;
    protected $table = 'xf_check_log';
    protected $dates = ['deleted_at'];

    // 关联设备详情表
    public function equipmentdetail()
    {
        return $this->belongsTo(EquipmentDetail::class, 'edid', 'id');
    }

}

 一个设备检查记录的model  关联了设备详情的model   目的就是在checklog的详情页面中 不显示edid 而是关联显示出设备的名称

在表格列表的展示中 可以这方便的使用关联展示

$grid->column('equipmentdetail.name', __('设备名'));

但是在详情中 这种.连接的方法却行不通了 此时文档中介绍的方法又很复杂 这里给出一个简单的方法

$show = new Show(CheckLog::findOrFail($id));

        $show->field('equipmentdetail', __('设备名'))->as(function ($content) {
            return $content->name;
        });

这里CheckLog::findOrFail($id)是查询出来的数据

回调中的$content相当于CheckLog::findOrFail($id)->equipment

这样就能正常的显示设备名称了

原文地址:https://www.cnblogs.com/zwsblogs/p/12672279.html