2011-12-08 62 views
1

我有一個表如何刪除Joomla中的表格中的一行?

id h_id t_id 
1 3 1 
2 3 2 
3 3 3 
4 4 2 
5 4 3 

id是主鍵。我沒有爲此表創建JTable。現在我想通過h_id刪除行。有沒有像我可以使用,而不寫一個SQL DELETE查詢的任何方法?

$db = JFactory::getDBO(); 
$row =& $this->getTable('tablename'); 
$row->delete($pk); 

任何更好的解決方案將不勝感激。

+1

「是否有任何mehtod像我可以使用,而無需編寫sql刪除查詢?」。我認爲你不能刪除表中的記錄或行而不使用刪除查詢。更好地與你有什麼。 – vinay

+1

@vinayjg ok如果我爲這個表創建一個JTable。我可以使用$ row-> delete()方法,但如何提及字段名稱? bcoz ** h_id **不是主鍵,它不是唯一的鍵。如果這是不可能的,我會去查詢。任何想法? – Sara

+1

它又需要一個主鍵。我在第一個項目時遇到同樣的問題。我使用查詢從表中刪除一條記錄,其中條件是blah blah,並使用query()方法執行它。這是我的前輩提出的。我仍然使用相同的。 – vinay

回答

3
  $db = & JFactory::getDBO(); 
     $query = $db->getQuery(true); 
     $query->delete($db->nameQuote('tablename'));    
     $query->where($db->nameQuote('h_id').'='.$db->quote($key));    
     $db->setQuery($query); 
     $db->query();