php - 当另一个表中值为 null 时重定向到页面 laravel

标签 php laravel redirect

如果我的additional_infos 表包含一些在本例中为空的内容(联系人、姓名和地址),我会尝试将用户重定向到另一个页面。

我现在已经做了类似的事情:

但即使联系人、姓名和地址已填写,它仍不断将我重定向到另一个页面。有人能帮我吗?提前致谢

public function test(Request $request){
    $additional_info = DB::table('additional_infos') ->where('address',NULL)->orWhere('name', NULL)->orWhere('number')->get();
    //request input //ignore this part
    if( $additional_info) {
        return redirect(url('/user/showupdate6/'.$id->id.'/edit6') );
    } else {
        return redirect('/home');
    }
}

如果我的数据名称、联系人和地址已填写,我希望它将我重定向到主页。如果我的数据名称、联系人和地址为空,我希望它将我重定向到此网址,url('/user/showupdate6/'.$id->id.'/edit6')

最佳答案

你永远不会得到 null,这样你就可以在 if 中测试它,就像这样 if( $additional_info) 它将 alawys 评估为 true,因为它总是返回一个集合即使没有满足条件的元素也会返回一个空集合,不为 null。

您有三个选择:

  • 使用->get()并在if语句中添加->count()if($additional_info->count())

  • ->get() 替换为 ->first() 并保留 if($additional_info)

  • ->get() 替换为 ->count()if($additional_info > 0)

尝试使用 whereNullorWhereNull ,如下所示:

public function test(Request $request){
    $additional_info = DB::table('additional_infos') 
                            ->whereNull('address')
                            ->orWhereNull('name')
                            ->orWhereNull('number')
                            ->get();
    //request input //ignore this part
    if( $additional_info->count())
        return redirect(url('/user/showupdate6/'.$id->id.'/edit6') );
    else{
    return redirect('/home');
}

关于php - 当另一个表中值为 null 时重定向到页面 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47883508/

相关文章:

php - 使用 .htaccess 文件时(使用 SQL)登录时出现问题?

java - 用户完成 PayPal 购买后重定向到 Struts 2 操作类

apache - 在htaccess中仅将HTTP子域重定向到HTTPS子域

php - 使用 php 时出现 SQL 语法错误 echo $_SERVER ['PHP_SELF' ];

PHP cli session 警告

PHP Session 字符串限制

database - Laravel 如何实时创建数据库,就像旧数据库一样,以及如何访问该数据库

php - nginx,在主网站子目录中安装 laravel,显示空白页面

php - 我如何重写这段代码以提高其清晰度?

laravel - 如何在 Laravel Jetstream 中使用 REST API 管理用户