PHP:如何在两个对象之间获取唯一值

时间:2012-01-15 20:17:33

标签: php drupal drupal-7

目标:获取$ resultSecond

中唯一的值

所以我有两个对象。

$ result和$ resultSecond

我想获得$ resultSecond独有的值,并且$ result中的 NOT

我尝试使用array_diff()。 它不起作用,因为它们是对象。我想。

以下是我获取数据的代码。

$result = db_query("
SELECT entity_id FROM field_data_field_date
WHERE bundle='postit' AND field_date_value > ".$customvishaltime." ");

$resultSecond = db_query("
SELECT entity_id FROM field_data_field_days
WHERE bundle='postit' AND field_days_value > ".$customvishaltime." ");

根据drupal,db_query的返回是一个预准备的语句对象。我不知道这意味着什么。

参考:

对于db_query http://api.drupal.org/api/drupal/includes--database--database.inc/function/db_query/7

  • 已根据要求进行了更改。

1 个答案:

答案 0 :(得分:0)

最好将此作为左连接查询:

$result = db_query("SELECT q2.entity_id 
                    FROM (
                           SELECT entity_id FROM field_data_field_days
                           WHERE bundle='postit' AND field_days_value > %f
                          ) AS q2 LEFT JOIN (

                           SELECT entity_id FROM field_data_field_date
                           WHERE bundle='postit' AND field_date_value > %f

                      ) AS q1 ON q2.entity_id = q1.entity_id

                    WHERE q1.entity_id IS NULL", $customvishaltime, $customvishaltime);