CodeIgniter & amp; 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'
)
)
)

Это дает мне «Невозможно получить доступ к сообщению об ошибке, соответствующему вашему имени правила: обязательно». ошибка при попытке сохранить
Есть идеи?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector