的 的 *编辑/ UPDATE *
我找到了一个解决方案,但不知道为什么会这样。如果有人能回答为什么这会很棒。
我发现当我将“floorplan_id”添加到MoveInHome的字段列表中时,MediaFloorplan会显示在我的数据中,因为MoveInHome有多个楼层平面图。奇怪,因为“id”在包含的“Floorplan”
的字段中找到* END EDIT / UPDATE *
我正在为一个家庭建设者开发一个项目,并且在通过可包含的内容获取一些数据时遇到了问题。
App模型有这个:
public $actsAs = array("Containable");
我正在从FloorplansController调用MoveInHome模型
$this->loadModel("MoveInHome");
$moveInReadyData = $this->MoveInHome->getByCommunity($communityid,4);
MoveInHome belongsTo Floorplan
Floorplan hasMany MediaFloorplan
以下是模型中的功能:
public function getByCommunity($id,$limit=4) {
$params = array(
"fields" => array(
"address",
"city",
"state",
),
"conditions" => array(
"MoveInHome.community_id" => $id,
"MoveInHome.active" => 1,
"MoveInHome.sold" => 0
),
"limit" => $limit,
"order" => "RAND()",
"contain" => array(
"MediaMoveInHome" => array(
"order" => array(
"featured" => "DESC"
),
"fields" => array(
"media_move_in_home_file_path",
),
"limit" => 1,
),
"Floorplan" => array(
"fields" => array(
"id",
"name",
"style",
"bedrooms",
"bathrooms",
"sf_bsmt",
"sf_1flr",
"sf_2flr"
),
"MediaFloorplan" => array(
"conditions" => array(
"MediaFloorplan.type" => "main",
),
"fields" => array(
"id",
"media_floorplan_file_path"
)
)
)
)
);
return $this->find("all", $params);
}
除了MediaFloorplan根本没有回来之外,所有数据都恢复正常。请注意,我在网站的其他区域做了类似的包含请求。问题是否源于将FloorplansController的请求发送到MoveInReady并尝试包含Floorplan等?
感谢您的帮助。