Doctrine 计算原则中的外键数
以下是这个问题的后续行动: 我使用的是原则1.2,我想计算属于子类别的业务数量 以下是mysql表 1.Doctrine 计算原则中的外键数,doctrine,dql,Doctrine,Dql,以下是这个问题的后续行动: 我使用的是原则1.2,我想计算属于子类别的业务数量 以下是mysql表 1.fi\u类别 +----+-----------------+-----------------+ | id | name | slug | +----+-----------------+-----------------+ +----+-----------------+-----------------+-------------+ | id
fi\u类别
+----+-----------------+-----------------+
| id | name | slug |
+----+-----------------+-----------------+
+----+-----------------+-----------------+-------------+
| id | name | slug | category_id |
+----+-----------------+-----------------+-------------+
+----+-------------+----------------+
| id | business_id | subcategory_id |
+----+-------------+----------------+
2.fi_子类别
+----+-----------------+-----------------+
| id | name | slug |
+----+-----------------+-----------------+
+----+-----------------+-----------------+-------------+
| id | name | slug | category_id |
+----+-----------------+-----------------+-------------+
+----+-------------+----------------+
| id | business_id | subcategory_id |
+----+-------------+----------------+
3.fi\u business\u子类别
+----+-----------------+-----------------+
| id | name | slug |
+----+-----------------+-----------------+
+----+-----------------+-----------------+-------------+
| id | name | slug | category_id |
+----+-----------------+-----------------+-------------+
+----+-------------+----------------+
| id | business_id | subcategory_id |
+----+-------------+----------------+
我正在使用这个DQL
$q = Doctrine_Query::create()
->select('c.name, c.slug, sc.name, sc.slug')
->from('Model_Category c')
->leftJoin('c.Subcategory sc')
->leftJoin('sc.BusinessSubcategory bsc');
这给了我类似的东西
Array
(
[0] => Array
(
[id] => 1
[name] => Entertainment & Lifestyle
[slug] => entertainment-lifestyle
[Subcategory] => Array
(
[0] => Array
(
[id] => 1
[name] => Arts and Crafts
[slug] => arts-and-crafts
)
[1] => Array
(
[id] => 2
[name] => Family
[slug] => family
)
[2] => Array
(
[id] => 3
[name] => Fashion
[slug] => fashion
)
)
)
)
我希望获取业务的数量,即返回的结果应该是这样的,这取决于它所属的业务
Array
(
[0] => Array
(
[id] => 1
[name] => Entertainment & Lifestyle
[slug] => entertainment-lifestyle
[Subcategory] => Array
(
[0] => Array
(
[id] => 1
[name] => Arts and Crafts
[slug] => arts-and-crafts
[business_count] => 35
)
[1] => Array
(
[id] => 2
[name] => Family
[slug] => family
[business_count] => 10
)
[2] => Array
(
[id] => 3
[name] => Fashion
[slug] => fashion
[business_count] => 27
)
)
)
)
尝试了使用DQL的各种方法,但似乎没有任何效果。你知道我该如何满足自己的需求吗?你试过:
$q = Doctrine_Query::create()
->select('c.name, c.slug, sc.name, sc.slug, COUNT(sc.BusinessSubcategory.id) AS business_count')
->from('Model_Category c')
->leftJoin('c.Subcategory sc')
->groupBy('c.id, sc.id');
使用水合物阵列您是否尝试过:
$q = Doctrine_Query::create()
->select('c.name, c.slug, sc.name, sc.slug, COUNT(sc.BusinessSubcategory.id) AS business_count')
->from('Model_Category c')
->leftJoin('c.Subcategory sc')
->groupBy('c.id, sc.id');
使用
hydrome\u ARRAY
这很有效,非常感谢您,不知道DQL允许您执行此类查询。:)这是可行的,非常感谢,从来都不知道DQL允许您执行此类查询。:)