CodeIgniter& Datamapper - 同一字段的两个外键

时间:2015-11-12 00:24:10

标签: php codeigniter foreign-keys datamapper

我有一个包含表格的数据库,如下所示:

CREATE TABLE `flight_booking` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `flight_id` int(11) NOT NULL,
  `departure_airport_id` int(3) NOT NULL,
  `arrival_airport_id` int(3) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_flight_booking/departure_airport` (`departure_airport_id`),
  KEY `fk_flight_booking/arrival_airport` (`arrival_airport_id`),
  CONSTRAINT `fk_flight_booking/arrival_airport` FOREIGN KEY (`arrival_airport_id`) REFERENCES `airport` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_flight_booking/departure_airport` FOREIGN KEY (`departure_airport_id`) REFERENCES `airport` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION

因此,预订有2个机场,一个到达和一个出发机场 事实是,我无法弄清楚如何在我的模型中声明关系。 我尝试了不同的东西,这就是我现在所拥有的:

    class flight_booking extends DataMapper {
        var $table = 'flight_booking';
        var $has_one = array (
                'flight',
                'departure_airport' => array (
                        'class' => 'airport'
                        ),
                'arrival_airport' => array (
                        'class' => 'airport',
                ) 
        );
var $validation = array (
            'id' => array (
                    'label' => 'ID',
                    'rules' => array () 
            ),

            'flight_id' => array (
                    'label' => 'Flight ID',
                    'rules' => array (
                            'required' 
                    ) 
            ),

'departure_airport_id' => array (
                    'label' => 'Departure airport id',
                    'rules' => array (
                            'required'
                    ) 
            ),
   'arrival_airport_id' => array (
                        'label' => 'Arrival aiport ID',
                        'rules' => array (
                                'required'
                        ) 
                )
    )

这给了我一个"无法访问与您的规则名称相对应的错误消息:required。"尝试保存时出错 有什么想法吗?

0 个答案:

没有答案