检查是否有任何 table 字段为空并且 return HTML class in Laravel 5

Check if any table fields are empty and return a HTML class in Laravel 5

我需要检查几个数据库 table 字段中的任何一个或所有字段是否为空,以及其中是否有 return class in HTML(或 Blade ).

目前我这样做:

<body class="app @if (Auth::user()->site_title == '' | Auth::user()->full_name == '' | Auth::user()->country == '' | Auth::user()->city == '') newuser @endif">

如果字段为空,它会提示用户完成它们的模式。

一切都很好,但我希望有一种更简洁的方法来执行此操作,因为我需要再次使用相同的 @if 语句到页面底部相应的 hide/show 模态。

也许 return 来自用户模型的东西?

您可以在控制器中执行此检查,将结果分配给变量并将其传递给视图。这样,您就可以轻松地在视图中多次使用此变量。

另一种(也许更简洁)的方法是在用户模型中进行。您可以将此逻辑放在方法 User::isNewUser() 中,然后从您的控制器或直接从您的视图调用它。

在您的身份验证模型上定义一个 returns 布尔值的方法。

像这样:

public function isNew()
{
    $attributes = ['site_title', 'full_name', 'country', 'city'];
    foreach ($attributes as $attribute) {
        if (empty($this->$attribute)) {
            return true;
        }
    }

    return false;
}

那么在您看来,您只需对照此方法进行检查即可:

 <body class="app @if (Auth::user()->isNew()) newuser @endif">