У меня возникли проблемы со следующей проблемой.
У меня есть функция, чтобы получить все даты из таблицы SQL. И я хотел бы изменить формат этих дат на стиль дд / мм / гг.
Я думаю, что я должен сделать это через функцию __construct, но я не в состоянии решить проблему.
Это моя текущая функция, которая дает мне все даты в формате SQL, YY-mm-dd.
public function get_post($id = null) {
$q = 'SELECT id, date_published FROM posts';
if ($id) {
$q.=' WHERE id = :id';
}
$stmt = $this->con->prepare($q);
if ($id) {
$stmt->bindParam(':id', $id);
}
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_CLASS, 'post');
return $stmt;}
Я пытался включить функцию внутри этой же функции с __construct, но я не знаю, как форматировать дату.
Я пробовал с:
this-> date_published = // новая форматированная дата
$ date_published = // новая отформатированная дата
, но не работает.
Любая помощь будет высоко ценится. Спасибо!
Используйте геттеры и сеттеры (Магические методы PHP):
public function __get($property, $value) {
if ($property === "date_published") {
$this->$property = // new formatted value
}
return $this;
}
Других решений пока нет …