繁体   English   中英

检查任何表字段是否为空,并在Laravel 5中返回HTML类

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

我需要检查是否几个数据库表字段中的任何一个或全部为空,并且是否有任何它们返回HTML(或Blade)中的类。

目前,我这样做:

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

如果字段为空,则提示用户使用模式来完成它们。

一切正常,但是我希望找到一种更@if方法,因为我需要再次使用相同的@if语句在页面底部相应地隐藏/显示模式。

也许从用户模型返回一些东西?

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

像这样:

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">

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM