0

我有模型TripInvestmentPerson。一次旅行有很多投资,每一项投资都属于一个人。当我说$this->Trip->find('all');我得到:

Array (
    [0] => Array (
            [Trip] => Array (                  
                    [id] => 1
                    [date] => 2012-10-25 13:00:00
                )
            [Investments] => Array (
                    [0] => Array (
                            [id] => 1
                            [person_id] => 1
                            [investment_type_id] => 2
                            [trip_id] => 1
                            [investment] => 55
                        )
                    [1] => Array (
                            [id] => 2
                            [person_id] => 2
                            [investment_type_id] => 1
                            [trip_id] => 1
                            [investment] => 40
                        )
                )            
        )
)

我希望每项投资都包含有关由person_id(So their id, theirname等) 代表的人的信息。我已经在find('all')查找中尝试了所有级别的递归,但没有运气。

4

2 回答 2

0

您是否在所有模型中定义了两种关联方式?

例如。旅行有很多投资和投资属于旅行

Investment belongsTo Person AND Person hasMany Investments 也查询应该是

$this->Trip->find->("all", array("recursive" => 2));

另一件事可能是问题是如果所有必要的模型都加载到您的控制器中

于 2012-11-05T09:31:12.743 回答
0

有关替代解决方案,请参见cakePHP 模型关联(更深入地检索数据) :使用

$this->YourModelname->recursive = 3;

在查询之前。

于 2015-10-12T13:33:25.717 回答