我要用更新查询转换laravel选择查询

4ngedf3f  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(123)

这是我的疑问:

$data = Collections::select(DB:raw("REGEXP_REPLACE(tour_id,'(,2|2,|2)','') as `new_tour_id"))->get();

我要转换此查询以更新数据库中的所有记录。这是我的数据库表显示:

我想要这个结果:

whlutmcx

whlutmcx1#

由于Laravel 5.x允许属性转换,因此可以将属性转换为另一种数据类型,以便在运行时进行转换。在这种情况下,只需声明一个受保护的$casts属性,例如:

protected $casts = [
    'tour_id' => 'array', // Will converted to (Array)
];

然后像这样存储你的id

最后这样搜索:

->whereJsonContains('tour_id', 3)->update([...]);

阅读更多:JSON Where子句

evrscar2

evrscar22#

假设您有一个Tour表模型,您需要做的是:

$tours = Tour::select('tour_id')

foreach($tours as $tour) {
    $tour->update([
        tour_id = $whatever_id_to_update
    ]);
}

相关问题