Php 从嵌套在Contain中的表中选择字段
我有一个如上所述的用例。在我的Php 从嵌套在Contain中的表中选择字段,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,我有一个如上所述的用例。在我的CategoriesController.php中,我对Category进行如下查询: $category = $this->Category->Transaction->find("first", array( "fields" => array("Category.*", "COUNT(*) AS TOTAL", "AVG(Transacti
CategoriesController.php
中,我对Category
进行如下查询:
$category = $this->Category->Transaction->find("first", array(
"fields" => array("Category.*", "COUNT(*) AS TOTAL", "AVG(Transaction.debit) AS AVERAGE_COST"),
"conditions" => array("not" => array("Transaction.debit" => null)),
"contain" => array("Category" => array("CategoryType")),
"group" => "Transaction.category_id",
"order" => array("TOTAL" => "desc"),
));
这就是我得到的回报:
Array
(
[Category] => Array
(
[id] => 2
[name] => FOOD
[category_type_id] => 2
)
[0] => Array
(
[TOTAL] => 4596
[AVERAGE_COST] => 7.668451
)
)
问题:如何在返回字段中指定类别类型
我尝试了
Category.CategoryType.*
和CategoryType.*
但不起作用。但是,如果我完全取出字段
数组,让cakephp默认处理,cakephp会设法在数组中返回CategoryType。这里需要查找以下几点:
类别类型
模型?从书中可以看出:当使用“字段”和“包含”选项时,请注意包含查询直接或间接需要的所有外键。还请注意,因为容器必须附加到容器中使用的所有模型中,您可以考虑将其附加到您的AppMype。字段分配到可包含参数之外,因此这可能会覆盖您的可包含行为。考虑将<代码>字段“字段”=>数组(“类别*”,“计数(*)为总数”,“AVG(事务。借位)为平均值开销”),<代码>到您的包含数组。