Laravel集合-仅当集合包含值时才回显值

时间:2018-07-01 15:51:30

标签: php mysql laravel collections eloquent

我有一个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 :(得分:3)

使用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