我正在使用 Blade 视图编写 Laravel 7 应用程序。我的一个 MySQL 表包含不遵循特定模式的客户端tools(id重组这些 id 不在讨论范围内,因为它们来自客户端不会更改的另一个系统)。其中一些 ID 具有前导零,应该在所有视图中显示,例如 055A。
id 在数据库中存储时带有前导零 (varchar(64)),没有问题。edit但是,当刀片视图显示 id 时,前导零消失了,而且,与和deleteis 的链接会myapp/public/tool/5A5/edit导致错误 ofc。
我的方法是显示 id,<td>{{ sprintf('%04d', $tool->id) }}</td>但并非所有 id 都有 4 个字符,并且链接仍然类似于myapp/public/tool/5A5/edit,因为 Blade 获取整个$tool对象。这是我的观点:
@foreach($tools as $tool)
<tr>
<td>{{ sprintf('%04d', $tool->id) }}</td> //not enough!
<td>{{ $tool->title }}</td>
<td style="text-align: center;">{{ $tool->tooltype->name }}</td>
@can('manage-tools', App\User::class)
<td class="td-actions text-right">
<form action="{{ route('tool.destroy', $tool) }}" method="post">
@csrf
<a rel="tooltip" class="btn btn-success btn-link" href="{{ route('tool.edit', $tool) }}" data-original-title="" title="">
<i class="material-icons">edit</i>
<div class="ripple-container"></div>
</a>
@method('delete')
<button type="button" value="disabled" disabled class="btn btn-danger btn-link" data-original-title="" title="delete"
onclick="confirm('{{ __("Wirklich löschen?") }}') ? this.parentElement.submit() : ''">
<i class="material-icons">close</i>
<div class="ripple-container"></div>
</button>
</form>
</td>
@endcan
</tr>
@endforeach
从我的工具控制器:
public function index(Tool $model)
{
$this->authorize('manage-tools', User::class);
return view('tools.index',['tools' => $model->get()]);
}
缥缈止盈
一只甜甜圈