繁体   English   中英

在 Laravel 的查询生成器中使用变量(for 循环)

[英]Using variable (for loop) in Laravel's Query Builder

我有一个需要检查多个 orWhere 语句的查询。

$cases = ['john', 'kate', 'mike', 'rob', 'josh', 'moe']

在这种情况下,我想使用 where 作为 for 循环。

Cat::where(function($q) use ($cases) {
   $q->where('name', 'john')->orWhere('name', 'kate'); // etc
})->get();

有没有更orWhere方法来将它与 for 循环一起使用,以便它可以orWhere链接orWhere

您可以使用此代码

Cat::whereIn('name', $cases);

如果你不会,你也可以使用这个代码

Cat::where(function($q) use ($cases) {
   $firstCase = array_shift($cases);
   $q->where('name', $firstCase);
   foreach($cases as $case) {
      $q->orWhere('name', $case);
   }
   // other conditions this
})->get();

你可以像这样循环 throw:

Cat::where('name',function($q) use ($cases) {
  foreach($cases as $case) {
    $q->where('name', $case);
  }
})->get();

whereIn更简单:

Cat::whereIn('name', $cases);

暂无
暂无

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

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