gpt4 book ai didi

elasticsearch - FOS Elastica——获取查询的字符串表示

转载 作者:行者123 更新时间:2023-11-29 02:48:53 26 4
gpt4 key购买 nike

我正在对使用 FOS Elastica 的存储库进行单元测试,我想知道是否有人知道如何获取查询的字符串版本,而不是数组形式。这是我的存储库方法:

    /**
* Creates query object by either first or last name, with given parameters
*
* @param $name
*
* @param array $params
*
* @return Query
*/
public function findByFirstOrLast($name, array $params)
{
$queryString = new QueryString();
$queryString->setQuery($name);
$queryString->setFields(array('firstName', 'lastName'));


$query = new Query();
$query->setQuery($queryString);
$query->setSort(array($params['sort'] => array('order' => $params['direction'])));

return $query;
}

假设 $name = 'foo';(并且我正在对 id 进行排序),我相信相应的 FOS Elastica 查询应该是

{
"query":
{
"query_string":
{
"query":
"foo",
"fields":["firstName","lastName"]
}
},
"sort":
{
"id":
{
"order":"asc"
}
}
}

有谁知道如何获取查询的 json 字符串表示形式?它也不一定必须采用这种漂亮的格式,它可以是单行字符串。

最佳答案

我看到你不再使用它,但我最终需要同样的东西。

在返回 $query 之前,您可以使用 json_encode($query->getQuery()->toArray()) ,这应该会为您提供所需的单行字符串。

关于elasticsearch - FOS Elastica——获取查询的字符串表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21999419/

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