laravel - 如果其他情况,Laravel Blade Foreach 循环中的错误
问题描述
我的代码有关于 foreach 和 if 条件的问题。当我将else代码块从 foreach 循环中拉出时,没有问题,它可以工作。但是我在循环中放入了其他代码。否则不工作,不显示任何东西。
我的目的,程序检查是否在 total_bonuses 数据表中使用了 user_id 如果确定我只想显示更新表单,如果在 total_bonuses 中没有记录 user_id 我想显示商店论坛和用户添加到信息。好像很复杂。
我的控制器代码如下
public function show($lang=null, $id)
{
$bonuses = DB::table('reservations')
->select(DB::raw('SUM(bonus) as total_bonus, user_id'))
->where('user_id', '=', $id)
->groupBy('user_id')
->get();
$dolars = DB::table('reservations')
->select(DB::raw('SUM(dolar) as dolar, user_id'))
->where('user_id', '=', $id)
->groupBy('user_id')
->get();
$confirmeds = DB::table('reservations')
->select(DB::raw('SUM(confirmation) as confirmed, user_id'))
->where('confirmation', '=', 1)
->where('user_id', '=', $id)
->groupBy('user_id')
->get();
$user = DB::table('users')->find($id);
$totals = DB::table('total_bonuses')->where('user_id', '=', $id)->get();
return view('wallet.show', compact('totals', 'user', 'bonuses', 'dolars', 'confirmeds'));
}
查看代码如下
@foreach ($totals as $total)
@if ($total->new_dollar !== NULL)
<div class="col-12"><a href="javascript:void(0)" class="link"><i class="mdi mdi-check-circle text-success"></i> <font class="font-medium"> {!! $total->new_dollar !!}
Remaining Dollar</font></a></div>
@endif
</div>
</center>
</div>
<div>
</div>
</div>
</div>
<!-- Column -->
<!-- Column -->
<div class="col-lg-8 col-xlg-9 col-md-7">
<div class="card">
@if (count($total->user_id) === 1)
<br>
<br>
<label class="col-md-12"><h4> Paid Dollar</h4></label>
<form class="form-horizontal form-material" method="POST" action="{{ route ('total.update', ['lang' => App::getLocale(), 'id' => $total->id]) }}">
{{ csrf_field() }}
<input type="hidden" name="_method" value="PATCH">
<input type="hidden" name='id' value='{!! $total->id !!}'>
<input type="hidden" name='user_id' value='{!! $user->id !!}'>
<div class="form-group">
<label class="col-md-12">Total Dollar</label>
<div class="col-md-12">
<input name="old_dollar" type="text" value="{!! $total->new_dollar !!}" class="form-control form-control-line" readonly>
</div>
</div>
<div class="form-group">
<label class="col-md-12">Paid Dollar</label>
<div class="col-md-12">
<input name="paid_dollar" type="text" class="form-control form-control-line">
</div>
</div>
<div class="form-group">
<label class="col-md-12">Note (Optionally! Not Required)</label>
<div class="col-md-12">
<input name="bonus_note" type="text" class="form-control form-control-line">
</div>
</div>
<input name="moderator_id" type="hidden" value="{{ Auth::user()->id }}">
<div class="form-group">
<div class="col-sm-12">
<button class="btn btn-success" type="submit">{{ __('profile.update')}}</button>
</div>
</div>
</form>
@else
<form class="form-horizontal form-material" method="POST" action="{{ route ('total.store', ['lang' => App::getLocale()]) }}">
{{ csrf_field() }}
<input type="hidden" name='user_id' value='{!! $user->id !!}'>
<div class="form-group">
<label class="col-md-12">Total Dollar</label>
<div class="col-md-12">
<input name="old_dollar" type="text" value="@foreach ($dolars as $dolar)
{{ $dolar->dolar }}
@endforeach" class="form-control form-control-line" readonly>
</div>
</div>
<div class="form-group">
<label class="col-md-12">Paid Dollar</label>
<div class="col-md-12">
<input name="paid_dollar" type="text" class="form-control form-control-line">
</div>
</div>
<div class="form-group">
<label class="col-md-12">Note (Optionally! Not Required)</label>
<div class="col-md-12">
<input name="bonus_note" type="text" class="form-control form-control-line">
</div>
</div>
<input name="moderator_id" type="hidden" value="{{ Auth::user()->id }}">
<div class="form-group">
<div class="col-sm-12">
<button class="btn btn-success" type="submit">{{ __('profile.update')}}</button>
</div>
</div>
</form>
@endif
@endforeach
最好的祝愿。
解决方案
您提供的视图中的问题在于 if 条件。在这里,您尝试计算不可能的用户 ID:-
@if (count($total->user_id) === 1)
把上面的代码改成
@if (count($total) === 1)
推荐阅读
- unity3d - 统一网络。transform.setparent() 在 clinet 端不起作用
- excel - 无法保存Openpyxl python3修改的现有excel文档
- sql - 如何通过在任何插入的两个值之间改组来将列上的两个值指定为 DEFAULT
- delphi - delphi中的OnDrawCell过程访问冲突
- java - 如何将图像保存到文件夹并将链接保存到 mySQL 数据库
- bash - 在 bash 中编写一个可移植的通用确认函数——你能改进它吗?
- angular - Css 不适用于 Angular 6
- python - 从python调用bash命令时“致命:参数太多”,直接在git bash中使用相同的命令没有错误
- python - 当我尝试通过 python 发送请求时,$ 中的错误读取不是有效的 json 值
- python - 如何从位置查询中扩大坐标?