当我在laravel的更新查询构建器中使用json_encode时,它返回空。我尝试的代码是这样:
DB::table('catalog_product')->update([
'reference' => json_encode(['data' =>DB::raw('external_barcode')]),
]);
我该怎么做?
答案 0 :(得分:1)
正如我所说,您正在将PHP函数与MYSQL值混合在一起。
或者您使用PHP方式:
$products = CatalogProduct::get();
foreach ($products as $product) {
$product->reference = json_encode(['data' => $product->external_barcode]);
$product->save();
}
或使用MYSQL:
DB::table('catalog_product')->update([
'reference' => DB::raw('JSON_OBJECT("data", external_barcode)'),
]);