【问题标题】:How to convert this MySQL query to a equivalent Laravel 5.4 Elequent/query builder query?如何将此 MySQL 查询转换为等效的 Laravel 5.4 Eloquent/query builder 查询?
【发布时间】:2017-05-25 04:49:30
【问题描述】:
SELECT `id` FROM `jobs` WHERE `job_type` IN ( 'topemployercheckbox1','topemployercheckbox2') OR `job_category` IN ( 'Contract','Intern') ;

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

【问题讨论】:

  • 在您提出问题之前,您应该自己尝试一下。你应该已经完成​​了你的研究,你应该能够在这里提交你的发现并说明哪些有效,哪些无效。那么只有 SO 的成员才能提出改变和改进的建议。您不能指望 SO 的成员为您编写代码。学习How do I ask a good question?
  • 我是 Laravel5 的新手。我搜索了很多,有 orWhere 和 whereIn 但我没有找到类似 orWhereIn 的东西。我不同意你的观点“你不能指望 SO 的成员为你写代码。学习”。我没有要求确切的代码,即使是很小的指导也会对我有所帮助。
  • 既然你说你已经搜索了很多,这意味着你可能想出了某种代码。它不起作用,这就是您寻求帮助的原因。你本可以发布它。然后尝试回答的人真的知道您已经尝试过并且需要改进。相反,您通过询问“如何......?”来开始这个问题。并显示预期的输出并询问“我需要转换..”看起来您正在寻求帮助而不累。
  • 至于没有找到orWhereIn,只需简单的谷歌搜索orWhereIn,你得到的第一个结果是Is there a orWhereIn in Query Builder
  • 非常感谢您指出拼写错误。你真好。我只希望您在准备问题时付出了同样多的努力。

标签: php mysql laravel laravel-5.4 laravel-query-builder


【解决方案1】:

你可以的

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

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

【讨论】:

    【解决方案2】:

    您可以使用两个 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();
    

    【讨论】:

      【解决方案3】:

      您的查询将如下所示。在这里,我们认为您的模型名称为 Job。

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

      【讨论】:

      猜你喜欢
      • 2014-04-10
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 2015-03-16
      • 2017-12-09
      • 2021-02-04
      相关资源
      最近更新 更多