从views_php过滤器返回TRUE不能按预期工作
发布时间:2022-10-26 15:06:49 所属栏目:PHP教程 来源:
导读: 我在View中编写了一个全局PHP过滤器,我希望当a时返回的值为TRUE 满足条件,当 TRUE 时,它应该从我的结果集中消除该行。 视图在表格中显示其结果。
我的过滤器代码如下
global $ user; $ uid =
我的过滤器代码如下
global $ user; $ uid =
|
我在View中编写了一个全局PHP过滤器,我希望当a时返回的值为TRUE 满足条件,当 TRUE 时,它应该从我的结果集中消除该行。 视图在表格中显示其结果。 我的过滤器代码如下 global $ user; $ uid = $ user-&gt; uid; $ bid = db_query(“SELECT entity_id FROM {field_data_field_bid_request_reference} WHERE field_bid_request_reference_line_item_id ='$ row-&gt; line_item_id'”); foreach($ bid as $ value){ $ node_uid = db_query(“SELECT uid FROM {node} WHERE nid ='$ value-&gt; entity_id'”) - &gt; fetchField(); if($ node_uid!= $ uid){ return TRUE; } } 我得到的结果是我期望的if语句。 $ node_uid 正在返回我想要的,uidPHP过滤器,无论谁用 nid =创建节点到 entity_id 从 db_query 获得。 在我的测试中,我有12行,每行包含 line_item_id 。 $ node_uid 有6种可能的结果,如果我使用 drupal_set_message 来查看foreach中的4 node_id ,我会看到它们。 在我的测试用例中,我有一个5的uid,这应该匹配3次。 在我的最终结果中我只能看到3行。 问题是9行应该被删除,因为它们匹配if语句并且应该返回 TRUE 实际上是显示的行和3应该失败的if语句测试,应该显示的是从输出中删除的行。 这几乎就像返回值被反转一样。 我做什么就好像if语句通过时返回值不正确。< p>我原本期望 node_id 不等于 uid 的情况返回 TRUE ,这些行不会出现在我的表中。 任何人都可以提供有关可能出错的建议以及如何调试此过滤器吗? (编辑:航空爱好网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

