Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
У меня есть несколько полей в БД например, process_at, arr_cn_at и т.д. с префиксом at.
Как сделать проверку на атрибут, если он имеет префикс at, то возвращать в каком-то формате.
public function get_process_date()
{
$date = $this->get_attribute('process_at');
return ($date)?date('d.m.Y', strtotime($date)):Null;
}
public function get_arr_cn()
{
$date = $this->get_attribute('arr_cn_at');
return ($date)?date('d.m.Y', strtotime($date)):Null;
}
public function get_arr_kg()
{
$date = $this->get_attribute('arr_kg_at');
return ($date)?date('d.m.Y', strtotime($date)):Null;
}
public function set_process_date($date)
{
$this->set_attribute('process_at', ($date)?new DateTime($date):Null);
}
public function set_arr_cn($date)
{
$this->set_attribute('arr_cn_at', ($date)?new DateTime($date):Null);
}
public function set_arr_kg($date)
{
$this->set_attribute('arr_kg_at', ($date)?new DateTime($date):Null);
}
Как видите код сильно разросся. Это можно как-то лаконично сделать?
Или может быть указать в массиве атрибуты, чтобы они возвращались в каком-то формате? Есть подобное?
Не в сети
Не в сети
А что мешает просто написать 2 дополнительные функции?
public function get_process_date()
{
return $this->getDate('process_at');
}
public function get_arr_cn()
{
return $this->getDate('arr_cn_at');
}
public function get_arr_kg()
{
return $this->getDate('arr_kg_at');
}
public function set_process_date($date)
{
$this->setDate('process_at', $date);
}
public function set_arr_cn($date)
{
$this->setDate('arr_cn_at', $date);
}
public function set_arr_kg($date)
{
$this->setDate('arr_kg_at', $date);
}
// ---
public function getDate($field)
$date = $this->get_attribute($field);
return $date ? date('d.m.Y', strtotime($date)) : null;
}
public function setDate($field, $date)
$this->set_attribute($field, $date ? new DateTime($date) : null);
}
Не в сети
Не в сети
Не в сети
Страницы 1