Laravel:JSON编码在数据库更新中返回空

时间:2019-07-09 10:43:32

标签: json laravel

当我在laravel的更新查询构建器中使用json_encode时,它返回空。我尝试的代码是这样:

    DB::table('catalog_product')->update([
        'reference' => json_encode(['data' =>DB::raw('external_barcode')]),
    ]);

我该怎么做?

1 个答案:

答案 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)'),
]);