laravel - Laravel - 如何根据 is_approved 显示提交编辑和删除
问题描述
我的 Laravel-5.8 中有这段代码
public function index()
{
$userCompany = Auth::user()->company_id;
$userEmployee = Auth::user()->employee_id;
$identities = DB::table('appraisal_identity')->select('id')->where('company_id', $userCompany)->where('is_current', 1)->first();
$goals = AppraisalGoal::where('employee_id', $userEmployee)->where('appraisal_identity_id', $identities->id)->get();
return view('appraisal.appraisal_goals.index')->with('goals', $goals);
}
看法
<td>
@if ($goal->is_approved == 3)
<span class="badge bg-success" >Approved</span>
@elseif ($goal->is_approved == 2)
<span class="badge bg-danger">Not Approved</span>
@elseif ($goal->is_approved == 1)
<span class="badge bg-info">Awaiting Approval</span>
@else
<span class="badge bg-black">Draft</span>
@endif
</td>
<td>
@can('appraisal_goal_show')
<a class="btn btn-xs btn-primary" href="{{ route('appraisal.appraisal_goals.show', $goal->id) }}">
{{ trans('global.view') }}
</a>
@endcan
@can('appraisal_goal_edit')
<a class="btn btn-xs btn-info" href="{{ route('appraisal.appraisal_goals.edit', ['id'=>$goal->id]) }}">
{{ trans('global.edit') }}
</a>
@endcan
@can('appraisal_goal_delete')
<button class="btn btn-xs btn-danger" type="submit" onclick="deleteTag({{ $goal->id }})">
Delete
</button>
<form id="delete-form-{{ $goal->id }}" action="{{ route('appraisal.appraisal_goals.destroy',$goal->id) }}" method="POST" style="display: none;">
@csrf
@method('DELETE')
</form>
@endcan
</td>
<div class="col-12">
<a href ="{{ route('post.publish.all')}}" class="btn btn-primary float-left"><i class="fas fa-arrow-right"></i> Submit</a>
</div>
我想应用这个条件。
- 仅当 is_approved = 1 或 2 或 3 时编辑才可见
- 仅当 is_approved = 0 或 2 时删除才可见
- 提交按钮仅在 is_approved = 1 或 2 时可见
我如何实现这些?
谢谢
解决方案
您可以将每个按钮嵌套在一个@if
并使用函数检查is_approved
值in_array
:
@if(in_array($goal->is_approved, [1, 2, 3]))
@can('appraisal_goal_edit')
<a class="btn btn-xs btn-info" href="{{ route('appraisal.appraisal_goals.edit', ['id'=>$goal->id]) }}">
{{ trans('global.edit') }}
</a>
@endcan
@endif
您可以对删除和提交按钮执行相同的操作,只需更改in_array
.
推荐阅读
- powershell - PowerShell:通过主机名创建脚本到 MSTSC,如果 DNS 失败,使用 IP
- dart - 如何从组件外部访问 TemplateRef
- javascript - 如何在包含图片和 URL 的 LI 项目的组件内创建 React Loop?
- javascript - 在javascript中匹配字符串中数字之前和字符串中数字之后的所有文本
- c - 我尝试在 AVL 树中实现插入,但是当我尝试运行它时出现分段错误。
- jquery - 单击组合时多个类元素的 JQuery 切换
- immutable.js - Immutable.js:这是预期的 hashCode 冲突还是错误?
- c++ - 使用 Outlook 2016 Microsoft Store 连接到 Outlook COM
- fortran - 派生类型中的可变长度数组
- python - 前向填充熊猫数据框而不重复行中的值