如何在laravel 5中在多个条件的地方编写查询

赛纳资讯科技

我正在尝试更新表格。

我在foreach中拥有所有价值观。唯一的ID是'uuid'

但是,如果值仅已更改,我想进行更新。我尝试这样做,但是没有运气。

$results = DB::table('urls')
                    ->where('uuid','=',$uuid)
                    ->orWhere('id_media', '!=',$id_media)
                    ->orWhere('region', '!=',$region)
                    ->orWhere('page', '!=',$page)
                    ->orWhere('audience', '!=',$audience)
                    ->update(array(
                        'id_media' => $id_media,
                        'region'=>$region,
                        'page'=>$page,
                        'audience'=>$audience
                    ));

下面的查询的laravel方式是什么。

update my_table set
my_col = 'newValue'
where id = 'someKey'
and my_col != 'newValue';
伊格纳西奥·法西尼(Ignacio Fassini)

试试这个。https://laravel.com/docs/5.2/queries#updates中找到更多信息

DB::table('my_table')
    ->where('id', 1)
    ->where('my_col', '!=', 'newValue')
    ->update(['my_col' => 'newValue']);

在您的特定情况下,您应该使用以下命令:

DB::table('urls')
        ->where('uuid', '=', $uuid)
        ->where(function ($query) use ($id_media, $region, $page, $audience) {
            $query->orWhere('id_media', '!=', $id_media)
                ->orWhere('region', '!=', $region)
                ->orWhere('page', '!=', $page)
                ->orWhere('audience', '!=', $audience);
        })
        ->update([
            'id_media' => $id_media,
            'region' => $region,
            'page' => $page,
            'audience' => $audience
        ]);

最后一个将产生如下内容:

update my_table set
    my_col = 'newValue'
where id = 'someId' and 
    (my_col1 != 'newValue1' or my_col2 != 'newValue2' or .. );

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Laravel 5 中编写动态数量的 Eloquent 查询?

如何在Laravel中编写原始查询

如何在Laravel中编写联合查询?

如何在带有条件多个where条件的Entity Framework中编写查询?

如何在搜索查询中编写条件?

如何在 Laravel 中查询“数据不存在的地方”?

Laravel-如何在where子句中编写多个条件?

如何在Laravel中编写内部查询或嵌套查询

如何在 Laravel 查询构建器中编写子查询

如何在WHERE条件的左侧是数学表达式的地方编写Django查询?

如何在Laravel 5和查询生成器中编写“ OR WHERE YEAR(...)”子句?

如何在Laravel查询中使用多个OR,AND条件

我如何在 Laravel 中编写嵌套查询

如何在laravel 5.2中编写此关联查询?

如何在Laravel Eloquent中编写此MySQL查询?

如何在Laravel中编写此复杂查询?

如何在Laravel Eloquent中编写嵌套的单个查询

如何在 Laravel eloquent 中编写子查询

如何在Laravel 5.2中编写更新查询

如何在模型 Laravel 中编写自定义查询?

如何在 Laravel Eloquent 中编写此查询

Laravel如何在多个条件下编写搜索查询,但是记录在同一用户下

如何在Laravel Eloquent ORM中为具有不同条件的多个模型创建联接查询

mongodb - 如何在聚合查询中编写条件

如何在Django中编写具有多个模型的查询

如何在多个选择中编写删除查询?

如何在bash脚本中编写多个if条件阶梯?

如何在Kotlin中为循环编写多个条件

如何在Robot Framework中编写if语句的多个条件