繁体   English   中英

如何多次使用一张桌子?

[英]How to use one table multiple times?

我有一个称为航班的表格,在其中可以设置出发到达的机场。 机场只是另一个表,我只想在航班表中使用机场ID。 我该怎么做?通常我只能使用一个ID(airport_id),如何使用第二个ID? 像airport_id_2吗?

我的飞行模型如下所示:

class Flight extends AppModel{
    public $hasOne = "Airport";
}

还是应该使用联接手动执行此操作?

您可以使用两个字段:

arrival_airport_id

departure_airport_id

并在您的模型中

public $belongsTo = array(
    "DepartureAirport" => array(
        'className' => 'Airport',
        'foreignKey' => 'departure_airport_id'
    ),
    "ArrivalAirport" => array(
         'className' => 'Airport',
         'foreignKey' => 'arrival_airport_id'
    )
)

PS:我认为正确的关系是belongsTo,而不是HasOne,因为一个机场可能与许多航班有关

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM