加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel:或者在一个循环中

发布时间:2020-12-14 19:42:10 所属栏目:大数据 来源:网络整理
导读:我试图在查询中根据变量的数量得到一些orWhere子句,但是我现在得到的查询结果并不是我需要的. $names = Input::get('name');$query = DB::table('table')-where('name','=','something');foreach ($naam_categorie as $naam){ $query-orWhere('id',$naam));}
我试图在查询中根据变量的数量得到一些orWhere子句,但是我现在得到的查询结果并不是我需要的.

$names = Input::get('name');
$query = DB::table('table')
->where('name','=','something');
foreach ($naam_categorie as $naam){
    $query->orWhere('id',$naam));
}

$query->update(array('value' => 1));

我正在更新特定的where子句,值= 1.如何将值的其余值更改为0?

这里到底出了什么问题?

解决方法

您需要使用get()的返回值,而不是查询构建器实例:

$result = $query->get();
var_dump($result);

关于输入我会这样做:

$names = Input::get('name');
$query = DB::table('table');
foreach($names as $name){
   $query->orWhere('id',$name);
}
$result = $query->get();

编辑

对于更新,最简单的事情可能是首先将all设置为0,然后将匹配为1的那些设置为:

DB::table('table')->update(array('value' => 0));

$names = Input::get('name');
$query = DB::table('table');
foreach($names as $name){
   $query->orWhere('id',$name);
}
$query->update(array('value' => 1));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读