Laravel collection - отображать значение только в том случае, если коллекция содержит значения - PullRequest
0 голосов
/ 01 июля 2018

У меня есть коллекция Laravel, которая возвращает разные значения. Я хочу всегда заполнять форму первым набором коллекции, пока есть доступные данные.

Прямо сейчас я отлаживаю и обнаружил ошибку. Если нет доступных данных, я получаю Undefined offset: 0. Вот как я проверяю, доступны ли данные, и если да, следует заполнить форму.

value="@php if($data){ echo $data[0]->client_id; } @endphp"

Это мой полный код:

<form class="tab-pane active" id="tab_1_1">
    <div class="form-horizontal show" role="form" id="customer_details">
        <div class="row">
            <div class="col-md-6">
                <h5>Kundendetails</h5>
                <div class="form-group">
                   <label class="control-label col-sm-2" for="modal_cid">Kundennummer</label>
                   <div class="col-sm-10">
                       <input type="text" class="form-control" id="modal_cid" value="@php if($data){ echo $data[0]->client_id; } @endphp" disabled="">
                   </div>
                </div>
                <div class="form-group">
                   <label class="control-label col-sm-2" for="modal_title">Anrede</label>
                   <div class="col-sm-10">
                       <input type="text" class="form-control" id="modal_title" value="@php if($data){ echo $data[0]->title; } @endphp" autocomplete="honorific-prefix">
                   </div>
                </div>
                <div class="form-group">
                   <label class="control-label col-sm-2" for="modal_academic_title">Titel</label>
                   <div class="col-sm-10">
                       <input type="text" class="form-control" id="modal_academic_title" value="@php if($data){ echo $data[0]->academic_title; } @endphp" autocomplete="honorific-prefix">
                   </div>
                </div>
                <div class="form-group">
                   <label class="control-label col-sm-2" for="modal_fname">Vorname</label>
                   <div class="col-sm-10">
                       <input type="name" class="form-control" id="modal_fname" value="@php if($data){ echo $data[0]->first_name; } @endphp" autocomplete="given-name">
                   </div>
                </div>
            </div>
       </div>
    </div>
</form>

Как я могу исправить эту ошибку и заполнить форму только первым набором / строкой коллекции?

Я уже опробовал эти решения. Не работает ..

  1. value="@php if($data){ echo $data[0]->account_account_holder; } @endphp"

  2. value="@php if($data[0){ echo $data[0]->account_account_holder; } @endphp"

  3. value="@php if($data[0]->account_account_holder){ echo $data[0]->account_account_holder; } @endphp"

1 Ответ

0 голосов
/ 01 июля 2018

Используйте isset (), чтобы сначала проверить его

@php if(isset($data[0])){ echo $data[0]->client_id; } @endphp

для большей уверенности

@php if(isset($data[0]->client_id)){ echo $data[0]->client_id; } @endphp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...