У меня есть ниже PHP: -WP_Query, используя и с или
$args = array(
'posts_per_page'=> -1,
'post_type' => 'jobs',
'order' => 'ASC',
's' => $search_field,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'job_salary_from',
'value' => $job_salary_from,
'compare' => '>=',
),
array(
'key' => 'job_salary_from',
'value' => $job_salary_to,
'compare' => '<=',
),
array(
'relation' => 'OR',
array(
'key' => 'job_salary_to',
'value' => $job_salary_from,
'compare' => '>=',
),
array(
'key' => 'job_salary_to',
'value' => $job_salary_to,
'compare' => '<=',
),
))
);
Lets говорят, что есть работа, которая составляет от 19000 до 22000 под названием 'ABC', так job_salary_from
= 19000 и job_salary_to
= 22000 .
Теперь давайте говорить я ищу работу, которая находится между 10000 и 19000, так $job_salary_from
= 10000 и $job_salary_to
= 19999.
Это проявляется, когда я делаю поиск, который является правильным. Однако, если я ищу работу, которая находится между 20000 и 29999, поэтому $job_salary_from
= 19999 и $job_salary_to
= 29999 ничего не отображается.
Где должно быть указано «ABC», поскольку $job_salary_to
находится в пределах поискового кронштейна.
Любая помощь будет высоко оценена.
Да это синтаксис запроса, в сочетании это с помощью BETWEEN, как решение @Saurabh Srb и это все работает как ожидалось :) – nsilva
Добро пожаловать, но, как я сожалею, вы должны проверить, будет ли 'BETWEEN' выполнять точно такую же работу для лимитных случаев. Возможно, вы должны добавить или вычесть 1, чтобы сделать запрос таким же, как и выше: – pgk