【问题标题】:how I delete a row in a table in Joomla?如何在 Joomla 的表格中删除一行?
【发布时间】:2012-01-16 01:33:24
【问题描述】:

我有一张桌子

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);

任何更好的解决方案将不胜感激。

【问题讨论】:

  • “有没有类似的方法可以在不编写 sql 删除查询的情况下使用?”。我认为您不能在不使用删除查询的情况下从表中删除记录或行。更好地去拥有你所拥有的。
  • @vinayjg 好的,如果我为这个表创建一个 JTable。我可以使用 $row->delete() 方法但是如何提及字段名称? bcoz h_id 不是主键,也不是唯一键。如果这是不可能的,我会去查询。有什么想法吗?
  • 再次它需要一个主键。我在第一个项目中遇到了同样的问题。我使用查询,例如从条件为 blah blah 的表中删除记录,并使用 query() 方法执行它。这是我的前辈建议的。我仍然使用相同的。

标签: joomla joomla1.5 joomla-extensions joomla-dbo


【解决方案1】:
         $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(); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 2017-09-07
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    相关资源
    最近更新 更多