我有一个问题:
SELECT * FROM custom_fields_values WHERE `custom_field_value_for_item-id` = 1
选择:
| custom_field_value_id | custom_field_for_item-id | custom_field_value | custom_field_to-compare_to |
|-----------------------|--------------------------|--------------------|----------------------------|
| 1 | 1 | test1 | 3 |
| 2 | 1 | test2 | 4 |
来自我的桌子。
如何访问custom_field_value
= custom_field_to_compare_to
所在的3
?我可以判断这是否存在吗?
我知道我可以修改查询并立即选择它,但我需要缩小已经执行的查询。
答案 0 :(得分:1)
简单地再次查询数据库可能更有意义。
但是,如果您想搜索已经检索过的结果,可以使用例如array_filter()
。
一个简单的例子:
$search = "3";
$filtered_rows = array_filter($all_found_rows, function($value) use ($search) {
return $Value['custom_field_to-compare_to'] === $search;
}
);
答案 1 :(得分:0)
最简单的解决方案是迭代结果集并找到具有目标值的行。
但是,如果您不想使用循环,可能需要查看PHP LINQ。有了这个,你可以这样做:
// Assuming $result has the resultset from the query
$data= from('$result')->in($result)
->where('$result=> $result->custom_field_to_compare_to == 3')
->select('$result->custom_field_value');