Ошибка о Laravel Blade Foreach в цикле, если еще - PullRequest
0 голосов
/ 22 сентября 2018

Есть проблема с моим кодом о foreach и if условии.Когда я извлек кодовый блок else из цикла foreach, проблем не возникло, это работа.Но я вставил еще код в цикл.Остальное не работает и ничего не показывает.

Моя цель - проверка программы на использованный user_id в total_bonuses datatable, если все в порядке. Я хочу отображать только форму обновления, если нет записей user_id в total_bonuses. Я хочу показать форум магазина и добавить пользователя в информацию.Это кажется сложным.

Код моего контроллера ниже

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

С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 22 сентября 2018

Проблема в вашем представлении заключается в условии if.Здесь вы пытаетесь подсчитать идентификатор пользователя, который невозможен: -

@if (count($total->user_id) === 1)    

Измените приведенный выше код на

@if (count($total) === 1)
...