如果我的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,url('/user/showupdate6/'.$id->id.'/edit6')
发布于 2017-12-19 09:22:34
您永远不会获得null,这样您就可以测试它是否像这个if( $additional_info)一样,它将计算为true,,因为总是返回一个集合,即使没有满足条件的元素,它也将返回一个空集合,而不是null。
你有三个选择:
->get()并在if状态if($additional_info->count())中添加->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');
}发布于 2017-12-19 09:21:17
尝试将查询转换为SQL,以检查您首先如何处理数据库。
$additional_info = DB::table('additional_infos')->where('address',NULL)->orWhere('name', NULL)->orWhere('number')->toSql();
dd($additional_info);https://stackoverflow.com/questions/47883508
复制相似问题