2014-02-11 79 views
0

我有一張叫的航班我在其中設置了出發到達機場。 機場只是另一張表,我只想在航班表中使用機場標識。我該怎麼做?通常我只能使用一個id(airport_id),我怎樣才能使用第二個?像airport_id_2 ..如何多次使用一張桌子?

我的飛行模式是這樣的:?

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

或者我應該手動執行此操作通過使用連接?

回答

1

你可以用兩個字段:

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:我認爲正確的關係是屬於關聯,而不是HasOne因爲一個機場可以與許多航班

+0

謝謝:)是的,你是對的,它應該是$ belongsTo。我剛從蛋糕開始,有些事情有點混亂。 – MilMike