1
我有下面的代码在form_alter
我的模块中:的Drupal 7 form_alter打破了阿贾克斯形式与SQL阵
$query = db_select('field_data_field_product_photos', 'p');
$query->addField('p', 'entity_id', 'pid');
$query->addField('f', 'uri', 'uri');
$query->join('file_managed', 'f', 'p.field_product_photos_fid=f.fid');
$query->condition('p.entity_id', $products_nids, 'IN');
$query->condition('p.delta', 0, '=');
$result = $query->execute();
但是当其他无线电,AJAX返回错误形式点击
$products_nids
只是像array(10,14)
这样的数组。如果放置array(10,14)
而不是$products_nids
它将正常工作。但$products_nids
动态生成。
有人知道该怎么办吗?
P.S.在误差必须field_data_field_product_photos
,不field_revision_field_product_photos
'$ product_nids'不空的 - 我检查。例如在某些节点'$ product_nids ==数组(10,14)'上。如果在查询中放入'array(10,14)',一切都会很好。 – skadermen 2013-04-04 10:19:20
对不起,这是 - 看产生的SQL,它不能说谎 – Clive 2013-04-04 10:19:42
正好嘛,你刚刚证明了我的观点:)如果它的工作原理与静态数组,那么你就知道一定是'$ product_nids'或者是一个空数组,或者根本不是数组。就像我说的,SQL不能说谎只是查看产生的查询字符串 – Clive 2013-04-04 10:23:30