当前位置: 首页 > 知识库问答 >
问题:

Laravel 5.3检查结果是否存在

毛德华
2023-03-14

我很难让这东西工作。基本上,一旦我单击用户配置的删除按钮,这个函数就会被调用。用户可以有多个配置。发生的情况是,一旦我删除了一个配置,它会寻找另一个配置,如果找到了,它会将其设置为当前配置文件。第一位工作正常,但如果$firstProfile返回什么,而不是输入否则它返回我一个错误...

代码:

public function delete(UserConfig $config) {
    $user = Auth::user();
    $uid = $user->id;

    if ($uid == $config->user_id) {

      UserConfig::where('id', $config->id)->delete();

      $firstProfile = UserConfig::where('user_id', $uid)->first()->id;

      if(count($firstProfile)){
        $user = User::find($uid);
        $user->current_profile = $firstProfile;
        $user->save();

        return view('/settings');
      } else {
        $user = User::find($uid);
        $user->config_done = 0;
        $user->save();

        return view('/home');
      }
    }
  }

错误:

ErrorException in UserConfigController.php line 100:
Trying to get property of non-object
in UserConfigController.php line 100
at HandleExceptions->handleError('8', 'Trying to get property of non-object', '/Users/jordykoppen/git/beef-monitor/app/Http/Controllers/UserConfigController.php', '100', array('config' => object(UserConfig), 'user' => object(User), 'uid' => '1')) in UserConfigController.php line 100

请记住,我对Laravel和整个MVC环境非常陌生。

共有1个答案

壤驷德宇
2023-03-14

如果未找到结果,Eloquent将返回null。这里处理的是对象,因此不必检查计数,只需执行此操作即可。

$firstProfile = UserConfig::where('user_id', $uid)->first();

if($firstProfile){
    // success
} else {
    // not result
}

$firstProfile变量要么是UserConfig的实例,要么是null,无需检查计数。

 类似资料:
  • 问题内容: 谁能指出如何检查选择查询是否返回非空结果集? 例如,我有下一个查询: 我应该像下一个那样做吗: 测试结果集是否不为空? 问题答案: 使用@@ ROWCOUNT: 根据SQL Server联机丛书: 返回受最后一条语句影响的行数。如果行数超过20亿,请使用ROWCOUNT_BIG。

  • 问题内容: 我有一个嵌入了数据库的桌面应用程序。当我执行程序时,我需要检查特定的表是否存在,如果不存在则创建它。 给我的数据库一个名为conn的Connection对象,我该如何检查呢? 问题答案: 您可以使用可用的元数据: 有关更多详细信息,请参见此处。还要注意JavaDoc中的注意事项。

  • 问题内容: 我正在尝试检查$ _POST是否存在,如果存在,则在另一个字符串中打印它,如果不存在,则根本不打印。 像这样的东西: 任何帮助将是巨大的! 问题答案:

  • 问题内容: 我正在尝试检查是否存在用户默认值,如下所示: 但是,无论对象还不存在,它将始终返回true是什么?这是检查存在的正确方法吗? 问题答案: 阿斯通有一个很好的答案。请参阅下面的Swift 3版本。

  • 问题内容: 如果我具有流程的PID,则os.FindProcess是否足以测试该流程的存在?我的意思是,如果返回,我是否可以认为它已终止(或被杀死)? 编辑: 我刚刚写了一个包装函数(旧式bash流程测试)。这可以正常工作,但是如果有其他解决方案(使用go库完成),我仍然很高兴。 问题答案: 这是查看进程是否处于活动状态的传统的Unix方式-向其发送0信号(就像您对bash示例所做的一样)。 来自

  • 问题内容: 检查cookie是否存在的好方法是什么? 条件: Cookie存在,如果 如果不存在Cookie, 问题答案: 您可以使用所需cookie的名称调用函数getCookie,然后检查其是否为null。