在laravel中的条件语句中写入变量Value时,变量Value不会更新

5vf7fwbs  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(102)

我从数据库中阅读Profile表中的某个用户ID,然后将其分配给变量。如果这样的配置文件存在于数据库中,我想显示一个按钮“编辑配置文件”。如果配置文件不存在对该用户ID,然后将有一个按钮说“创建配置文件”我写了下面的条件语句:

public function read(){
        $records = DB::table('user_profiles')
                    ->where('user_id',auth()->user()->id)->get();

        $status= empty($records) ? 'not_exist' : 'exist';
            return dd($records,$status);
}

字符串
然后在我的刀片模板中,我写了以下代码:

@if($status === 'exist')
        <button type="button" class="btn mb-3" data-bs-toggle="modal" data-bs-target="#edit-company-profile">
          Edit Profile
        </button>      
      @else
        ($status === 'not_exist')
        <button type="button" class="btn mb-3" data-bs-toggle="modal" data-bs-target="#edit-company-profile">
          Create Profile
        </button>
      @endif


我想右键出现在个人资料页面。例如,如果配置文件不存在,那么按钮应该说“创建配置文件”,如果配置文件存在,按钮应该是“编辑配置文件”。为了检查控制器函数中的问题,我执行了dd($records,$status)。如果配置文件存在或不存在,结果显示相同的$status。所以问题是我的$status变量没有按要求更新。

wn9m85ua

wn9m85ua1#

对集合使用count()方法来检查是否有任何记录

public function read()
{
    $records = DB::table('user_profiles')
                ->where('user_id', auth()->user()->id)
                ->get();

    $status = $records->count() > 0 ? 'exist' : 'not_exist';
    
    return dd($records, $status);
}

个字符

相关问题