gpt4 book ai didi

laravel - 在 elasticsearch-laravel 中更新记录;

转载 作者:行者123 更新时间:2023-12-02 04:43:07 24 4
gpt4 key购买 nike

我想更新elasticsearch的记录。我正在将 $data 中的整个记录​​传递给 elasticsearch 以进行更新。

更新代码:

public function updateEs($data)
{
$params = array();
$params['index'] = \App::environment();
$params['type'] = $data['context'];
$model = new \Modules\Catalog\Repositories\ProductRepo;

$form = $model->loadProduct($data['id']);// whole data come from database
$data=(object)$form; //array to object

$data['body'] = $data;
$data['index'] = 'my_index';
$data['type'] = 'product';
$data['id' ]= $data['id'];

$response = \Es::update($data);
}

但我收到错误:

FatalErrorException in ElasticSearchHelper.php line 121:

Cannot use object of type stdClass as array

最佳答案

您使用 (object)$form 转换为 stdClass。然后通过执行 $data['stuff'] 将其视为一个数组。要解决您应该做的错误,例如:

$data->body = $data;

我不知道这是否是唯一的错误以及您的 ES 现在是否可以工作,但它应该可以解决您提到的错误。

关于laravel - 在 elasticsearch-laravel 中更新记录;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35772651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com