我在表上使用 forelse 语句:
@forelse($message->content->suggestions as $suggestion)
<td>
@foreach ($message->content->suggestions as $suggestion)
<span class='badge badge-info'>{{($suggestion->reply->text)}}</span>
@endforeach
</td>
@empty
<em> - </em>
@endforelse
我的目标是检查表中是否有名为“建议”的数据,然后运行 foreach() 但是如果它是空的,则仅显示“-”,这是我第一次使用 forelse,并且想学习它:) 如果我做不到这样有人可以分享如何用 IF 语句来代替吗?
你能看到我做错了什么吗,如果我打开一个没有建议的表,我只会得到一个错误而不是“-”
给出错误的表如下所示:
"id" => "3d0ef00c-0edd-4d8b-ad1c-27e92e29c469"
"method" => "rcs"
"msisdn" => 64224603
"direction" => "mt"
"type" => "text"
"status" => "delivered"
"content" => "{"text":"Dial a number"}"
"suggestion_id" => null
"created_at" => 1591669329
"updated_at" => 1591669333
"deleted_at" => null
最佳答案
我会做这样的事情......
@if(!empty($message->content->suggestions))
// There is are suggestions
@foreach($message->content->suggestions as $suggestion)
<span class='badge badge-info'>{{ $suggestion->reply->text }}</span>
@endforeach
@else
// No Suggestions
<span class='badge badge-info'>-</span>
@endif
这会检查建议是否可用,如果是,则循环遍历它们,如果不存在,则显示 -。还假设您的关系设置正确。
关于php - Laravel 如何在表上使用 forelse() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62276340/