Это следить за этим вопрос: count number of foreign keysподсчет количество внешнего ключа в доктрине
Я использую доктрину 1.2, и я хочу, чтобы подсчитать количество бизнеса, который принадлежит к подкатегории.
Ниже приведены таблицы mysql.
1. fi_category
+----+-----------------+-----------------+
| id | name | slug |
+----+-----------------+-----------------+
2. fi_subcategory
+----+-----------------+-----------------+-------------+
| id | name | slug | category_id |
+----+-----------------+-----------------+-------------+
3. fi_business_subcategory
+----+-------------+----------------+
| 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, но ничего не получается. Любая идея, как мне идти с тем, что я хочу?
это работает, спасибо так много, никогда не знал, что DQL позволяет сделать этот вид запросов. :) –