[已解决]DcatAdmin显示具体某条数据(.show路由)页面,如何做到分栏显示

laravel 10 + dcatadmin 2 + php8.1
我希望能够在具体显示某条数据的页面做到分栏,最终下过如下图

上面截图是我自己P的,就是想要这个结果
我看了下官方文档,知道一个基本的操作,如下

use Dcat\Admin\Layout\Row;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Widgets\Card;

public function show($id,Content $content){
        return $content
            ->header('表格')
            ->description('表格功能展示')
            ->body(function (Row  $row) {
                $row->column(8,Card::make('标题', '内容'));
                $row->column(4,Card::make('标题', '内容'));
            });
}

这段代码可以实现上面的分栏卡片效果,但是如何在这个卡片里面将详细的数据内容示出来呢?因为无法将 $id 这个参数传进column里面,所以也无法获取到这条数据。
官方文档都直讲到了数据表单的分栏,没有讲如何将这个id传进去获取到具体的数据
我尝试过下面写法,但是也报错

->body(function  (Row $row)use($id)  {
    $row->column(8,Card::make('标题', $this->detail($id)));
    $row->column(4,Card::make('标题', '内容'));
})
///上述代码是我自己写的错误代码,已更正,不再报错了

protected function detail($id)
{
      return Show::make($id, new ServiceOrder(), function (Show $show) {
      $show->field('id');
      $show->field('type');
      $show->field('number');
      $show->field('title');
      $show->field('abstract');
      $show->field('subject');
      $show->field('note');
      $show->field('created_at');
      $show->field('updated_at');
    });
}

报错内容是:Too few arguments to function App\Admin\Controllers\***Controller::App\Admin\Controllers\{closure}(), 1 passed and exactly 2 expected

想请问一下,该如何写代码,才能实现我上面需要的功能呢?求大神指点一下

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
DogLoML
最佳答案

Laravel

根据父类的show方法可知,用你下面的写法,body里面的function后面use一下$id就行了

4个月前 评论
francisco_v (楼主) 4个月前
讨论数量: 4

你想要什么,就想要个分隔?

4个月前 评论
francisco_v (楼主) 4个月前
DogLoML

Laravel

根据父类的show方法可知,用你下面的写法,body里面的function后面use一下$id就行了

4个月前 评论
francisco_v (楼主) 4个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!