Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用多个条件将mySQL查询转换为Laravel 5_Mysql_Laravel 5_Multiple Conditions - Fatal编程技术网

使用多个条件将mySQL查询转换为Laravel 5

使用多个条件将mySQL查询转换为Laravel 5,mysql,laravel-5,multiple-conditions,Mysql,Laravel 5,Multiple Conditions,我有这种mySQL查询。我用它来搜索许可证id,电子邮件(用户),机器id SELECT license.license_id, license.instances, license.expiry_date,license.license_type, users.email FROM license INNER JOIN purchase_items ON purchase_items.license_id = license.license_id INNER JOIN customer_p

我有这种mySQL查询。我用它来搜索许可证id,电子邮件(用户),机器id

SELECT license.license_id, license.instances, license.expiry_date,license.license_type, users.email 
FROM license 
INNER JOIN purchase_items ON purchase_items.license_id = license.license_id
INNER JOIN customer_purchases ON customer_purchases.customer_purchase_id = purchase_items.customer_purchase_id
INNER JOIN users ON users.user_id = customer_purchases.customer_id
INNER JOIN machines ON machines.license_id = license.license_id
WHERE customer_purchases.status = 1 
AND license.license_id LIKE '%9fe%' 
OR users.email LIKE 'hora%' 
OR machines.machine_id LIKE '%dfd3%' 
GROUP BY license.license_id
在这里,我开始用拉维5这样写

     $key = $request->search_key;         
    if(($request->session()->get('user'))!=null){           
                                    $license_data = License::join('purchase_items','license.license_id','=','purchase_items.license_id')
                                    ->join('customer_purchases','customer_purchases.customer_purchase_id','=','purchase_items.customer_purchase_id')
                                    ->join('users','users.user_id','=','customer_purchases.customer_id')
                                    ->where('customer_purchases.status','=',1)
                                     //some more codes                        
                                    ->groupBy('license.license_id')                                   
                                    ->select('license.license_id', 
                                            'license.expiry_date', 
                                            'license.instances', 
                                            'users.email', 
                                            'license.license_type',
                                            'license.is_valid')
                                    ->paginate(10);
我不明白如何使用多个条件

($key表示url附带的搜索关键字)

您可以使用“orWhere”条件。

例如:

如果$key是数组,并且包含许可证id、电子邮件和机器id, 那么查询是

$license_data = License::join('purchase_items','license.license_id','=','purchase_items.license_id')->join('customer_purchases','customer_purchases.customer_purchase_id','=','purchase_items.customer_purchase_id')->join('users','users.user_id','=','customer_purchases.customer_id')->where('customer_purchases.status','=',1)->orwhere('license.license_id','LIKE',$key['licence_id'])->orwhere('users.email','LIKE',$key['email'])->orwhere('machines.machine_id','LIKE',$key['machine_id'])->groupBy('license.license_id') ->select('license.license_id', 'license.expiry_date', 'license.instances','users.email',  'license.license_type',license.is_valid')->paginate(10); 
使用


$key不是数组。它只携带这样一个单词
url?search_key=01090434e8f850779c6670be
。我必须搜索这个词,看它是否与机器id、许可证id、emai(用户)匹配。我确实喜欢这个。但没有结果$许可证数据返回空数组
$license_data = License::join('purchase_items','license.license_id','=','purchase_items.license_id')->join('customer_purchases','customer_purchases.customer_purchase_id','=','purchase_items.customer_purchase_id')->join('users','users.user_id','=','customer_purchases.customer_id')->where('customer_purchases.status','=',1)->orwhere('license.license_id','LIKE',$key)->orwhere('users.email','LIKE',$key)->orwhere('machines.machine_id','LIKE',$key)->groupBy('license.license_id') ->select('license.license_id', 'license.expiry_date', 'license.instances','users.email',  'license.license_type',license.is_valid')->paginate(10);