I have 3 database tables:
Code:
CREATE TABLE booking
(
booking_id INT(9) unsigned NOT NULL AUTO_INCREMENT,
deleted TINYINT(1) DEFAULT '0' NOT NULL,
created_date_time DATETIME NOT NULL,
updated_date_time DATETIME,
CONSTRAINT `PRIMARY` PRIMARY KEY (booking_id)
);
CREATE TABLE booking_ticket
(
booking_ticket_id INT(9) unsigned NOT NULL AUTO_INCREMENT,
booking_id INT(9) unsigned NOT NULL,
ticket_id INT(9) unsigned NOT NULL,
CONSTRAINT `PRIMARY` PRIMARY KEY (booking_ticket_id, booking_id, ticket_id)
);
CREATE TABLE ticket
(
ticket_id INT(9) unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT,
ticket_number VARCHAR(255) NOT NULL,
deleted TINYINT(1) DEFAULT '0' NOT NULL,
created_date_time DATETIME NOT NULL,
updated_date_time DATETIME
);
CREATE UNIQUE INDEX ticket_number ON ticket (ticket_number);
But I only want 2 models:
PHP Code:
class Booking extends Model
{
}
class Ticket extends Model
{
}
And 2 domain objects:
PHP Code:
class Booking
{
public $bookingId;
public $tickets = [];
}
class Ticket
{
public $ticketId;
public $ticketNumber;
public $booking;
}
How should I handle the `booking_ticket relational table and the domain objects `Booking->tickets` and `Ticket->booking`?
I've got a half-baked solution that I'm really not happy with and would like to see what others solutions are?
Kristian Matthews-Kennington
Apple Certified Associate Mac Integration & Management 10.10