当前位置: 首页 > 知识库问答 >
问题:

如何向元查询添加筛选器,如仅查找数字

朱经武
2023-03-14

我对meta_query有些情境问题。客户搜索四,但结果包括私人(原始词是私人的)。我想只显示IV(罗马数字)包括后。我的meta_query搜索从标题,子标题和自定义插件的描述。我找到了REGEXP,但我找不到从标题、子标题和描述中找到漫游数字的正确方法。

客户只能找到罗马数字,也可以找到任何单词等。


    $args = array(
        'numberposts' => -1,
        'category' => 0,
        'orderby' => 'post_date',
        'order' => 'DESC',
        'meta_query' => array(
            'relation' => 'OR',
            array(
                'key' => 'title',
                'value' => $search_term,
                'compare' => 'LIKE',
            ),
            array(
                'key' => 'sub-title',
                'value' => $search_term,
                'compare' => 'LIKE',
            ),
            array(
                'key' => 'description',
                'value' => $search_term,
                'compare' => 'LIKE',
            )
        ),
        'post_type' => 'gallery',
        'post_status' => 'publish',
        'suppress_filters' => true
    );

    $posts = get_posts($args, ARRAY_A); 

共有2个答案

岳炎彬
2023-03-14

我解决了我的问题使用正则表达式标题,描述和子标题。还在寻找最好的答案不是个好主意。

$tempFlag = false;      
foreach (explode(" ", $description) as $temp) {
            if (preg_match('/^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$/', $temp)) {

                if (in_array($temp, $romeNumber)) {
                    $tempFlag = true;
                }
            }
        }
越伟泽
2023-03-14

正则表达式应包括以下罗马数字(假设$search\u term仅包括请求的罗马数字:

$regEx = '/(' . strtoupper($search_term) . ')/g';
 类似资料:
  • 我有一个类似于下面的场景(为了清楚起见进行了简化): 我想编写单元测试来验证我的查询筛选器(以及排序和限制调用)的正确性,但我想不出如何设置测试数据来这样做。 我试过模拟IMongoDatabase并设置GetCollection调用以返回模拟IMongoCollection,但这不是正确的方法,因为我需要对真正的MongoCollection调用FindAsync调用。 我研究了通过拆分GetC

  • 我想搜索整个内容树,但不搜索在其底部具有“请勿搜索”属性的特定树。 查询生成器API页面不引用除AND和OR之外的任何内容。 是否可以从搜索中排除路径,或者我只能显式地包括路径? 前三行是“/content和/content/path/es”。我想要“/content而不是(/content/path/es)” 我试了下两个真假都没有效果。 我找不到任何提到“不是”或“不是”的其他名称的文档可能会

  • 我看不到任何关于何时应该使用查询或过滤器或两者结合的描述。他们之间有什么区别?谁能解释一下吗?

  • 我使用的是Spring Data JPA 1.7.1 这里有一个例子:

  • 我正在使用React,使用NodeJS将数据发送到我的PostgreSQL数据库。我的songs表中有一个外键,它引用了albums表中的id。我的问题是,如何将我第一次插入的id返回到第二次插入的相册中?以下是我目前的代码: 我还没有将专辑id添加到我的歌曲插入中。我在等着看如何把唱片id的值输入到我的第二个插页中?

  • 我有如下要求。 从UI获取place子句作为字符串,任何选项都可以在Spring Boot中的place子句中添加字符串以查询mongo DB 例如:(eventType以“asdf”和age开头 在sql中,我们可以添加where子句,但不确定如何在mongoDB的springboot中做到这一点 注意:字符串是动态的,没有特定的模式。括号可以嵌套。Spring防尘套前端角度和维修 提前感谢