Недопустимый аргумент DrupalDefaultEntityController, предоставленный для foreach
Последний час пытался разобраться с этим.
$query = new EntityFieldQuery();
$query -> entityCondition('entity_type', 'node')
-> entityCondition('bundle', 'subscription');
$results = $query->execute();
if(isset($results['node'])) {
$subscription_nids = array_keys($results['node']);
$nodes = node_load_multiple($subscription_nids, TRUE);
return $nodes;
} else {
return FALSE;
}
Это очень простая версия всего запроса, но ошибка точно такая же:
Warning: Invalid argument supplied for foreach() in DrupalDefaultEntityController->buildQuery() (line 290 of /var/www/ml/data/www/ml.mailapproved.com/includes/entity.inc).
Я не понимаю, что здесь не так.
1
Author: Cameron Ball, 2012-08-29
1 answers
2-й аргумент для node_load_multiple()
представляет собой массив условий; в настоящее время вы предоставляете логическое значение, поэтому, когда функция buildQuery
пытается выполнить итерацию по переменной, вы получаете предупреждение.
3-й аргумент заключается в сбросе кэша (я думаю, это то, что вы пытаетесь сделать), поэтому вызов должен быть:
$nodes = node_load_multiple($subscription_nids, array(), TRUE);
2
Author: Clive, 2012-08-29 09:11:07