如果我的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)
尝试使用 whereNull
和 orWhereNull
,如下所示:
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/