我正在构建一个Joomla模板。为此,我需要测试/查询DB中的两个字段。我正在努力熟悉getDBO
课程,但仍然坚持到这里。
这两个查询几乎相同。我需要变量$category
和$hasField
。如何将这两个查询合并为一个?这有点多余。
$db = JFactory::getDBO();
$id = JRequest::getInt('id');
$db->setQuery('
SELECT
#__categories.title
FROM
#__content,
#__categories
WHERE
#__content.catid = #__categories.id
AND
#__content.id = '.$id
);
$category = $db->loadResult();
$db->setQuery('
SELECT
#__attachments.filename,
#__attachments.parent_id
FROM
#__attachments
WHERE
#__attachments.parent_id =' . $id
);
$hasField = $db->loadResult();
答案 0 :(得分:1)
您可以尝试将#__attachments
加入第一个查询。
SELECT
#__categories.title,
#__attachments.filename,
#__attachments.parent_id
FROM
#__content,
#__categories,
#__attachments
WHERE
#__content.catid = #__categories.id
AND
#__attachments.parent_id = #__content.id
AND
#__content.id = $id
答案 1 :(得分:0)
我可能在那里错了,因为没有地方可以测试,但它假设就像离开了一样:
SELECT
#__categories.title, atch.filename
FROM
#__content,
#__categories
LEFT JOIN
#__attachments AS atch ON atch.parent_id = #__content.id
WHERE
#__content.catid = #__categories.id
AND
#__content.id = '.$id
);