我試圖弄清楚這一點,因爲我嘗試過不同的方法,它似乎沒有工作我。如何檢查變量是否在@foreach循環中使用時定義的
我有一個foreach循環,像這樣:
@foreach($mods as $key => $value)
<tr class="table-tr draggable" data-id="{!!$value->id!!}" style="background-color: {{$value->mod_colour}}; color: {{$value->mod_text_colour}};">
<!-- This creates the Mod -->
<td class="startTime"></td>
<td class="endTime"></td>
<td class="duration">{{ $value->mod_duration }}</td>
<td class="intent">{{ $value->mod_intent }}</td>
<td class="module">
@if ($value->mod_module != null)
{{ $value->mod_module }}
@else
<table class="table-bordered" style="width:100%; text-align: center; color: white;">
@for ($i = 1; $i <= $value->mod_team; $i++)
<td style="padding:10px;">Team {{ $i }}</td>
@endfor
</table>
@endif
</td>
<td class="output">{{ $value->mod_output }}</td>
<td class="input">{{ $value->mod_input }}</td>
<td class="logistics">{{ $value->mod_logistics }}</td>
<td>
<a class="btn btn-small btn-info" style="margin:auto; margin-top: 10px; margin-bottom: 10px; margin-left:10px; margin-right:10px; display:block;" href="" data-target="#modal-edit-mod{{ $value->id }}" data-toggle="modal" id="modal-edit">Edit</a>
</td>
</tr>
@endforeach
的問題,我要面對的是,當有數據庫中沒有MODS的,因此沒有什麼被傳遞到$價值變量,該頁面將拋出'未定義變量:值'錯誤。我想要實現的是創建某種catch語句,如果未定義該值,則默認爲「創建新Mod」屏幕或模態。我試過以下內容:
@foreach($mods as $key => $value)
@if($value != null)
<tr class="table-tr draggable" data-id="{!!$value->id!!}" style="background-color: {{$value->mod_colour}}; color: {{$value->mod_text_colour}};">
<!-- This creates the Mod -->
<td class="startTime"></td>
<td class="endTime"></td>
<td class="duration">{{ $value->mod_duration }}</td>
<td class="intent">{{ $value->mod_intent }}</td>
<td class="module">
@if ($value->mod_module != null)
{{ $value->mod_module }}
@else
<table class="table-bordered" style="width:100%; text-align: center; color: white;">
@for ($i = 1; $i <= $value->mod_team; $i++)
<td style="padding:10px;">Team {{ $i }}</td>
@endfor
</table>
@endif
</td>
<td class="output">{{ $value->mod_output }}</td>
<td class="input">{{ $value->mod_input }}</td>
<td class="logistics">{{ $value->mod_logistics }}</td>
<td>
<a class="btn btn-small btn-info" style="margin:auto; margin-top: 10px; margin-bottom: 10px; margin-left:10px; margin-right:10px; display:block;" href="" data-target="#modal-edit-mod{{ $value->id }}" data-toggle="modal" id="modal-edit">Edit</a>
</td>
</tr>
@else
<p>No mods!</p>
@endif
@endforeach
它將檢查$ value變量是否爲null,並且不起作用。我也嘗試了 - > isEmpty()方法,但它仍然返回未定義的變量錯誤。
我想要的幫助是創建@ if/@ else語句的最佳方式,它可以檢查$ value變量是否有值,或者是否有更好的方法實現我想要做的事情。
謝謝!
'isset()函數'和/或'空()'是前兩個東西浮現在腦海 –
if(count($ mods)> 0){foreach(...){} else {echo「找不到數據」} –
您似乎遇到了一個問題,使您的$ mods var不爲空,但也沒有格式化,因爲你會喜歡它。因爲如果$ mods真的是空的,它甚至不會成爲foreach。這很有可能是你應該處理的,而不是檢查值是否設置 – Sugar