简体   繁体   English

如何将此MySQL查询转换为等效的Laravel 5.4 Elequent / query builder查询?

[英]How to convert this MySQL query to a equivalent Laravel 5.4 Elequent/query builder query?

SELECT `id` FROM `jobs` WHERE `job_type` IN ( 'topemployercheckbox1','topemployercheckbox2') OR `job_category` IN ( 'Contract','Intern') ;

我需要将此MySQL查询转换为laravel 5.4查询生成器查询。

you can do 你可以做

ModelName::whereIn('job_type',['topemployercheckbox1','topemployercheckbox2'])
    ->orwhere(function($q){
          $q->whereIn('job_category',['Contract','Intern'])
})->get('id');

or 要么

ModelName::whereIn('job_type',['topemployercheckbox1','topemployercheckbox2'])
    ->whereIn('job_category',['Contract','Intern'],'or')->get('id');

You can use union of two whereIn query. 您可以使用两个whereIn查询的并集。

$query1= \DB::table("jobs")select("id")->whereIn("job_type",['topemployercheckbox1','topemployercheckbox2']);
$query2=\DB::table("jobs")select("id")->whereIn("job_category",['Contract','Intern']);
$job_ids= $query1->union($query2)->get();

Your query would be like as below. 您的查询将如下所示。 Here we have considered your model name is as Job. 在这里,我们已经考虑到您的型号名称为Job。

 Job::select('id')
    ->whereIn('job_type',['topemployercheckbox1','topemployercheckbox2'])
    ->orWhereIn('job_category',['Contract','Intern'])
    ->get();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM