php - Laravel 如何在表上使用 forelse() ?

标签 php laravel

我在表上使用 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/

相关文章:

php - 单点登录 (sso) laravel

laravel 集合删除项目

javascript - laravel 中的 ajax 帖子

php - 包含月份和年份的排序字符串 - 'may - 2016'

PHP 警告 : include(/var/www/html/. ...../lib/Cake/Error/ErrorHandler.php): 无法打开流错误

PHP_INT_SIZE 返回 4 但我的操作系统是 64 位

php - mysql数据库查询失败

用于注册和登录的 php webservice

Laravel Nova API - 你能对请求的资源或镜头应用过滤器吗

MySQL 5.7 : UNIQUE and exists