0

Joomlaテンプレートを作成しています。このために、DBの2つのフィールドをテスト/クエリする必要があります。私はgetDBOクラスに慣れようとしていますが、ここで立ち往生しています。

これらの2つのクエリはほぼ同じです。変数$categoryとの両方が必要です$hasField。これらの2つのクエリを1つにマージするにはどうすればよいですか?これは少し冗長です。

$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();
4

2 に答える 2

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
于 2012-12-04T15:33:47.163 に答える
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
); 
于 2012-12-04T15:36:57.273 に答える