如何使用一个" Not Equal"在Query的条件下传递数组。条件

时间:2016-06-08 11:52:48

标签: php laravel-5.2

我正在使用Laravel 5.2。我遇到了将数组发送到模型函数的问题,其中一个数值是Not Equal。

我检查这种方式是有效的:

$users = DB::table('users')
->where([ ['status','1'], ['subscribed','!=','1'], ])
->get();

但在我的情况下,我正在使用可重复使用的功能:

$whereData = array('name'=>'test' , 'id !=' => '5');
$users = DB::table('users')->where($whereData)->get();

此处不等于条件不起作用并提供错误。使用此可重用函数的正确语法是什么是whereData数组由多个运算符组成,如"!=,<>等等......"。

1 个答案:

答案 0 :(得分:0)

我建议您采用以下方式。

仅在没有where条件的情况下发送数据。

因此,

$whereData = array('name'=>$username , 'statusid' => $userid);

$users = DB::table('users')->where('status', '=', $whereData['name'])->orWhere('subscribed', '<>', $whereData['statusid'])->get();

或如您所述,将where替换为whereColumn

因此代码将是,

$whereData = array( array('name','test') , array( 'id','<>','5'));
$users = DB::table('users')->whereColumn($whereData)->get();