当前位置: 首页 > 面试题库 >

如何在Zend DB模型中使用'distinct'

凌征
2023-03-14
问题内容

我已经搜索了很长时间才能使该功能正常工作。

我想要知道的是如何在zend db模型中使用’distinct’,以使我对用户关注者的选择唯一。

我的数据库模型用于为用户计算关注者(在这里,我需要添加’distinct’)

public function countFollowers($user_id) 
{    
    $rowset       = $this->fetchAll("user_id = $user_id");
    $rowCount     = count($rowset);

    if ($rowCount > 0) {
      return $rowCount;
    } else {
      return $rowCount;
    }
}

编辑:此函数是’类Application_Model_DbTable_Followers扩展Zend_Db_Table_Abstract’的一部分

我的表结构

  • ID
  • article_id //由“ user_id”编写的文章的ID。
  • user_id //本文的所有者
  • follower_id //已关注此文章的成员
  • 日期//跟随日期

‘user_id’可以写成各种文章,关注者可以关注同一位作家的各种文章。我想增加一个唯一的关注者人数。例如,我想要的是,如果关注者关注一位作者的8篇文章,则必须将其与计数中的“
1”进行比较。

我希望这一点足够清楚,以了解我尝试达到的目标。

亲切的问候,

尼基


问题答案:

使用不同的:

public function countFollowers($user_id) 
{
    $select = $this->select()
              ->distinct()
              ->where('user_id = ?', $user_id);

    $rowset = $this->fetchAll($select);
    $rowCount = count($rowset);

    return $rowCount;
}

编辑:在进行有问题的编辑后,可获得 用户 的关注者数量。您实际上需要使用NOT NOT 分组
。我已经测试了以下查询的工作原理,以获取要进行count()处理的数据,

SELECT * FROM followersWHERE user_id = 1 GROUP BY user_id,follower_id

我没有测试代码,但是类似的东西应该可以工作:

public function countFollowers($user_id) 
{
    $select = $this->select()
              ->where('user_id = ?', $user_id)
              ->group(array('user_id', 'follower_id'));

    $rowset = $this->fetchAll($select);
    $rowCount = count($rowset);

    return $rowCount;
}


 类似资料:
  • 我正在做一个项目,我需要使用几个DateTime字段,我已经在我的模型中定义了,然后在模板中,我正在使用https://tempusdominus.github.io/bootstrap-4/插件,但是当我提交表单时,有两个问题来吧: 1) :Django说为所有DateTime字段输入有效的日期/时间(2):选择有效选项<代码>[“玉米油”]不是可用选项之一。 以下是我尝试过的: 从: 从: 从

  • 问题内容: 我已阅读flask-sqlalchemy或sqlalchemy,它们建议将flask-sqlalchemy与flask一起使用。我想遵循这种方法。 但是,我有一个为命令行脚本编写的现有模型,该模型基于sqlalchemy的declarative_base,例如, 我希望仍然可以在此模型中使用命令行脚本,但也希望围绕该模型构建Web应用程序。 有没有办法扩展现有模型,以获得使用flask

  • 问题内容: 我在Django中有一些模型继承级别: 和继承了许多不同的模型。我想创建一个信号,当创建附件时,该信号将更新父工作的字段。认为为父发件人()发出的信号也会在所有继承的模型上运行,这是合乎逻辑的,但事实并非如此。这是我的代码: 有没有办法使此信号对所有继承自其的模型起作用? Python 2.7,Django 1.4 pre-alpha 附言:我已经尝试了在网上找到的一种解决方案,但是它

  • 我正在学习如何在NodeJs中使用Sequelize来访问MySQL数据库,但是在创建模型的时候,我被外键问题困住了。有谁能建议我如何申请吗?因为我试过一个,但还是出错了。 模型 exam_category.js exam.js 然后在app.js中我写了这样一个: 这是我的database.js。 错误 PS D:PracticeOtpFrontend&>;node.server.js inte

  • 本文向大家介绍如何在Java中使用Jackson树模型创建JSON?,包括了如何在Java中使用Jackson树模型创建JSON?的使用技巧和注意事项,需要的朋友参考一下 在Jackson库中,我们可以使用 树模型 来表示JSON 结构并通过JsonNode执行CRUD 操作。这个Jackson树模型很有用,尤其是在JSON结构不映射到Java类的情况下。我们可以使用JsonNodeFactory

  • 问题内容: 假设我有一个模型Car,该模型在 ViewModel1中 实例化为以下初始属性: ViewModel1 然后,我需要在下一个视图控制器中完成汽车的其他信息。遵循MVVM时,在视图控制器之间传递模型的 正确 方法是什么? 使用MVC,操作很简单,因为视图可以引用模型: 以下是对该问题的伪尝试,但是我给人的印象是视图模型应该是私有的,并且只能由单个视图控制器访问。因此,以下尝试对我来说似乎