Я создал следующий код в views_php:Использование ENTITY_ID в db_query в views_php (Drupal 7)
$userseeking = db_query("SELECT field_seeking_tid FROM {field_data_field_seeking} WHERE entity_id = 6")->fetchAll(PDO::FETCH_ASSOC);
$userseekingcount = count($userseeking);
return $userseekingcount
В приведенном выше примере, я использую конкретное значение '6' для ENTITY_ID. Я получаю ожидаемый результат от этого запроса.
Однако entity_id должен быть переменной, зависящей от идентификатора профиля входа в систему (подключенного к их идентификатору пользователя).
Поэтому я ввожу 3 строки для извлечения PID ($ currentpid) от текущего пользователя. Я подтвердил, что эти 3 строки возвращают значение $ currentpid 6. Когда я исправляю db_query для выбора значений, где entity_id = $ currentpid, появляется отказ, хотя они должны давать тот же результат - см. Код ниже:
global $user;
$currentuser = $user->uid;
$currentpid = db_query('SELECT pid FROM {profile} WHERE uid = ' . $currentuser . ' limit 1')->fetchField();
$userseeking = db_query("SELECT field_seeking_tid FROM {field_data_field_seeking} WHERE entity_id = ' . $currentpid . '")->fetchAll(PDO::FETCH_ASSOC);
$userseekingcount = count($userseeking);
return $userseekingcount
Я злоупотребляю ссылкой на объект entity_id в этом запросе?
Благодарим за помощь!
PS Это может быть не самый чистый код, поэтому я приношу свои извинения в продвинутом состоянии! :)