Уже более суток я бьюсь головой об стену - надеясь, что кто-нибудь сможет пролить на это свет.
Я запустил это в phpmyadmin, нет проблем.
Запустите его в Joomla,не возвращает никаких записей, если есть нулевое значение.
(обзор) Я разрабатываю компонент в бэкэнде, где менеджер может проверить, выполнил ли конкретный поставщик определенные требования.Требования хранятся в таблице вопросов (и они подразделяются на несколько модов), а записи провайдеров хранятся в таблице провайдеров.Вскоре это будет связано с одной большой таблицей, которая показывает всех пользователей, нажмите на пользователя и получите эту таблицу с соответствующими флажками для каждого вопроса, чтобы проверить, закончили ли они его.
Вот структура:
Таблица вопросов: вопрос_ид вопрос_мод вопрос_описание
Таблица провайдеров: идентификатор_поставщика_производителя_доставка_процента_доставщика_производителя
Запрос MySQL (работает должным образом):
SELECT p.provider_id
, p.provider_userid
, q.question_mod
, q.question_id
, p.question_id
, q.question_description
, p.provider_passedchk
FROM `jos_assess_questions` AS q
LEFT JOIN `jos_assess_providers` AS p ON q.question_id = p.question_id AND p.provider_userid =40
WHERE q.question_mod = 1
ORDER BY p.provider_userid
LIMIT 0,1000
В Joomla (в модели возвращает пустую таблицу):
public function getListQuery()
{
$query = parent::getListQuery();
$question_mod = JRequest::getVar('modID');
$userId = JRequest::getVar('userID');
$db =& JFactory::getDBO();
$query = $db->getQuery(true);
$query->SELECT('p.provider_id
, p.provider_userid
, q.question_mod
, q.question_id
, p.question_id
, q.question_description
, p.provider_passedchk
, p.published
');
$query->FROM (' #__assess_questions AS q');
$query->LEFTJOIN (' #__assess_providers AS p ON q.question_id = p.question_id AND p.provider_userid='.$userId.'');
$query->WHERE ('q.question_mod = '.$question_mod.'');
$query->ORDERBY (' p.provider_userid');
$db->setQuery($query);
return $query;
}
Есть идеи?Спасибо!