我想从我的数据库中获取数据,不包括我的部分数据

时间:2017-10-03 10:45:45

标签: php mysql laravel

     if($city!='Others'){

            $posts = Post::orderby('id','desc')->where(['city'=>$city])->paginate(10);
    }
    else{
            $posts = Post::orderby('id','desc')->whereNotIn(['city'=>'Lahore'])->paginate(10);
    }
}

我现在要显示一些特定的数据 以前显示的数据以外的数据。

首先,如果显示正常数据,我试图在else部分显示剩余数据。

3 个答案:

答案 0 :(得分:1)

var maxDate = new Date(); var pastYear = maxDate.getFullYear() - 1; maxDate.setFullYear(pastYear); maxDate.setMonth(11); maxDate.setDate(31); $('#drivers-dob').datepicker({ autoclose: true, //endDate: '+0d', endDate: maxDate, format: "yyyy-mm-dd", }); 将获取WhereNotIn的值您还需要在其中传递列名称

array

答案 1 :(得分:0)

这是基于数据库设置方式的猜测。

根据回复编辑(请参阅:https://laravel.com/docs/5.5/queries#where-clausesLaravel != operator in where not working):

if($company!='Others'){
        $posts = Post::orderby('id','desc')->where(['company'=>$company])->paginate(10);
        }
        else{
            $posts = Post::orderby('id','desc')->where('city', '<>', 'Lahore')->paginate(10);
        }

这有帮助吗(看一下链接)?

答案 2 :(得分:0)

感谢您的帮助。唯一需要的是将whereNotIn语句值保留在数组中。像这样。

    if($city!='Others'){

            $posts = Post::orderby('id','desc')->where(['city'=>$city])->paginate(10);
    }
    else{
   $posts = Post::orderby('id','desc')->whereNotIn(['city',array('Lahore')->paginate(10);
    }
}