Laravel Nova:向 Laravel Nova 资源添加行号(不是 ID)
Laravel Nova: Add row numbers (NOT ID) to the Laravel Nova resources
我想知道有什么方法可以在资源页面的 ID
字段旁边添加行号(不是 ID)吗?
一个 hacky 解决方案是将计数器变量存储在 $request 对象上,increment/return 计数器值在文本字段中关闭。
public function fields(Request $request)
{
if (!$request->count) {
$request->count = 0;
}
return [
Text::make('#', function () use ($request) {
$request->count += 1;
return $request->count;
}),
ID::make()->sortable(),
Text::make('Name')->sortable()->rules('required', 'max:255'),
...
];
}
这里是我根据找到的解决方案,his/her答案只支持首页,不考虑分页。这是基于 his/her 答案的解决方案:
public function fields(Request $request)
{
if (!$request->count) {
$request->count = 0;
}
return [
Text::make('#', function () use ($request) {
$request->count += 1;
$rowNumber = $request->page == 1 ? $request->count : $request->count + ($request->perPage * ($request->page - 1));
return $rowNumber;
})->onlyOnIndex(),
ID::make()->sortable(true),
Text::make('name'),
...
];
}
我想知道有什么方法可以在资源页面的 ID
字段旁边添加行号(不是 ID)吗?
一个 hacky 解决方案是将计数器变量存储在 $request 对象上,increment/return 计数器值在文本字段中关闭。
public function fields(Request $request)
{
if (!$request->count) {
$request->count = 0;
}
return [
Text::make('#', function () use ($request) {
$request->count += 1;
return $request->count;
}),
ID::make()->sortable(),
Text::make('Name')->sortable()->rules('required', 'max:255'),
...
];
}
这里是我根据
public function fields(Request $request)
{
if (!$request->count) {
$request->count = 0;
}
return [
Text::make('#', function () use ($request) {
$request->count += 1;
$rowNumber = $request->page == 1 ? $request->count : $request->count + ($request->perPage * ($request->page - 1));
return $rowNumber;
})->onlyOnIndex(),
ID::make()->sortable(true),
Text::make('name'),
...
];
}