我有一个带路径的类别名称A:1-2 -
和一些路径如下的孩子:
B:1-2-3 -
C:1-2-4 -
D:1-2-5 -
我想将A类从1移到6,路径为:6-2 -
如何将类别B,C,D更新为6-2 - %
我发现这个代码用于php:
UPDATE类别SET路径= REPLACE(路径,' 1-2 - ',' 6-2 - ')WHERE路径LIKE' 1-2-% '
但我不知道如何将它用于laravel。
答案 0 :(得分:0)
您可以这样做:
DB::table("category")
->where("path", "LIKE", "1-2-%")
->update(["path" => DB::raw("REPLACE(path, '1-2-', '6-2-')")]);
或者,如果您有用于类别表的模型:
Category::query()
->where("path", "LIKE", "1-2-%")
->update(["path" => DB::raw("REPLACE(path, '1-2-', '6-2-')")]);
答案 1 :(得分:-1)
如果此代码有效,您可以使用
DB::raw('UPDATE category SET path = REPLACE(path, '1-2-', '6-2-') WHERE path LIKE '1-2-%');