我有一个错误。当我计算查询方法并计算fetchArray方法的结果但它们的结果不相同时。因此,在Symfony 1.4中获取后端生成器中的查询结果时出现错误。
我在下面使用的查询:
$alias = 's';
$query = VtArticleTable::getInstance()->createQuery('va');
$query->innerJoin("va.sfGuardUserCreatedBy s");
$query->innerJoin("va.ArticleCategory ac");
$query->select("$alias.id AS user_id, COALESCE($alias.phone, ' ') AS phone_user , COALESCE($alias.email_address, ' ') AS email_user , COALESCE($alias.first_name, ' ') AS first_name_user, "
. "COALESCE($alias.last_name, ' ') AS last_name_user, $alias.username AS user_name, COALESCE(ac.name, ' ') AS category_name,"
. " va.type AS article_type, COUNT(*) AS total_article ");
$query->groupBy("ac.id, va.type, s.username");
$query->where('ac.id IS NOT NULL');
$query->andWhere('va.id IS NOT NULL');
$query->andWhere('s.id IS NOT NULL');
$query->orderBy('ac.updated_at DESC');
$query->count() = 61
count($query->fetchArray()) = 51
PS:VtArticle和VtArticleCategory有很多关系。
如何在生成器中使用查询获得正确的结果?
答案 0 :(得分:1)
你想在控制器里面算一下吗? 无论如何,快速查看我注意到你在count()方法之前错过了execute()方法。
所以你应该打印 $查询 - >执行() - >计数()