我想获取 table 中的数据,这是 laravel 中的枚举数据

I want to get the data in my table which is an enum data in laravel

我有一个 table 'companies',其中 'approval' 作为具有枚举类型数据的列('Need Approval','已批准)。 如果批准为绿色,否则为红色,我想更改文本的颜色。

$data = DB::table('companies')
    ->select('approval')
    ->get();
    

    if($data == 'Approved')
    {
        return "<span class='badge' style='background-color:green'>".$this->approval."</span>";
    }
    else 
    {
        return "<span class='badge' style='background-color:orange'>".$this->approval."</span>";
    }
    //return '<span style="color:red">'.$this->approval.'<span>'>'.';
}

但结果总是显示 Else 子句。有人可以帮忙吗?

if 语句将始终 return 假,因为 $data 是一个对象,而您正在将对象(包含所有公司批准列)与字符串进行比较。

好的,我已经解决了之前的问题

$data = DB::table('companies')
    ->select('approval')
    ->first();
    foreach ($data as $datas)
    //     {
            if($data->approval == 'Approved')
            {
                return "<span class='badge' style='background-color:green'>".$this->approval."</span>";
            }
            else 
            {
                return "<span class='badge' style='background-color:orange'>".$this->approval."</span>";
            }

现在我有一个新问题,如果我创建超过 1 个数据。颜色不能根据状态分开

the approved should be green, if its not approved it should be orange

问题解决了,非常感谢大家,我只是做了一点改动

public function changeColor()
{       
    $data = DB::table('companies')
    ->select('approval')
    ->first();
    
        if($this->approval == 'Approved')
        {
            return "<span class='badge' style='background-color:green'>".$this->approval."</span>";
        }
        else 
        {
            return "<span class='badge' style='background-color:orange'>".$this->approval."</span>";
        }
    
}