Переводите таблицы-адресаты «один-ко-многим» mysql-родитель-ребенок в объектно-ориентированные классы php

У меня две таблицы mysql с отношением «один-ко-многим» от родителя-ребенка:

CREATE TABLE a (
  id int(11) unsigned NOT NULL,
  a1 varchar(63) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE b (
  id   int(11) unsigned NOT NULL,
  a_id int(11) unsigned NOT NULL,
  b1   varchar(63) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (id),
  FOREIGN KEY (a_id) REFERENCES a(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Теперь я хочу перевести эту реляционную модель данных в объектно-ориентированные классы.

Я создал класс php с геттерами и сеттерами для таблицы a:

class A {
    /*
     * @var int
     */
    private $id;

    /*
     * @var string
     */
    private $a1;

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     * @return A
     */
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getA1()
    {
        return $this->wrd;
    }

    /**
     * @param mixed $a1
     * @return A
     */
    public function setA1($a1)
    {
        $this->a1 = $a1;
        return $this;
    }
}

И один для таблицы b:

class B {
    /*
     * @var int
     */
    private $id;

    /*
     * @var string
     */
    private $b1;

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     * @return B
     */
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getB1()
    {
        return $this->b1;
    }

    /**
     * @param mixed $b1
     * @return B
     */
    public function setB1($b1)
    {
        $this->b1 = $b1;
        return $this;
    }
}

Теперь я не знаю, как перевести внешний ключ a_id в объектно-ориентированную модель. Должен ли я добавить что-то в класс A или класс B? Любые предложения о том, как действовать?

php,oop,

0

Ответов: 1


-1

В классе B. Создайте частную собственность $aи публичные геттеры / сеттеры. Затем это должно получить / установить класс A.

PHP, ООП,
Похожие вопросы