И она вполне может быть не одна…а таблица за моделью
Буду знать.Вот когда начнешь понимать что не модель за таблицей закреплена, а таблица за моделью, тогда уже будет неплохо.
Наоборот. Начинаем с моделей. А свойства моделей уже ставятся в соответствие таблицам и полям в базе данных.Вот из Ваших слов я понял следующее: у каждой таблицы с которой мы собираемся работать, есть своя модель ? Где как раз таки описываются свойства (из ларавела понял еще то, что данные которые пользователю не нужны ставят приватными) и методы, чтобы получить данные с этой таблицы, обновить, удалить и т.д. ?
Это то самое типичное распространенное заблуждение.Недавно мне коротко написали: Модели: Обращение к базе данных обмен данными с базой
Нет.А в этом случае в Model обычные методы вроде public function select($query) {PHP:Class Chat extends Model { // функции, получить все сообщения, по отдельности, удаление и т.д.. в общем то что нам нужно public function getAll() { return select('select * from chat'); } }
return mysqli_query($this->link, $query);
}
---
что то я уже сам запутался. я просмотрел столько уроков, задавал на тостере, форумах столько вопросов
class Chat {
private $id;
private $name;
public function __construct($name, $id = null) {
$this->name = $name;
$this->id = $id;
}
public function getId() {
return $this->id;
}
public function getName() {
return $this->name;
}
public function rename($newName) {
$this->name = $newName;
}
# выше была чистая модель, теперь, поскольку мы делаем ActiveRecord, в нее же дописываем работу с базой:
public function store() {
if ($this->id) {
DB::query('UPDATE chats SET name=? WHERE id=?', $this->name, $this->id);
} else {
DB::query('INSERT INTO chats (name) VALUES (?)', $this->name);
$this->id = DB::getLastInsertId();
}
}
public static function findById($id)
$row = DB::fetchRow("SELECT id, name FROM chats WHERE id=?", $id);
if (!$row) {
throw new ModelNotFoundException(__CLASS__);
}
return new self($row['name'], $row['id']);
}
}
ну наверно можно сказать что DTO это анемичная модель некоторой сущностиМодель предметной области = Domain
То, что корневые DTO классы называют Model, тебя не должно путать
я вот подумал почему иногда возникаетет путаница - потому что такие понятия как DTO и модель вообще нельзя ставить в один рядЯ бы вот спросил, чем DTO отличается от анемичной модели![]()
"Як цуцик, усё розумиє, тильки не розмовляє…" (Сори за мой французкий, угу.)Все все понимают, но все равно чего то обсуждают![]()
Перевод нормальный, по-моему.@AnrDaemon, почитай http://www.ozon.ru/context/detail/id/5497184/ там терминологии дофига
Мне определенно пользу принесла она. Правда... перевод. В оригинале то оно лучшей.
Не боишься?Вот когда начнешь понимать что не модель за таблицей закреплена, а таблица за моделью, тогда уже будет неплохо.