我有一个类,其中包含两个其他类:
class Leave
{
/**
* @var Day
*/
private $fistDay;
/**
* @var Day
*/
private $lastDay;
}
Day是php \ Datetime类的简单容器,它在几天内实现了一些操作逻辑,使代码更易于阅读。
当我在数据库中指定firstDay列的类型为' date'时,phalcon模型生成器将其映射为' string'虽然我想使用我的自定义课程。有什么办法吗?仅仅几天制作另一张桌子似乎是一种矫枉过正; - )
干杯。
答案 0 :(得分:1)
感谢@yergo,这是正确的地方:)在更新数据库记录之前,还需要使用beforeSave()和afterSave()再次创建对象字符串。
public function beforeSave()
{
$this->firstDay = $this->firstDay->getStringDate();
$this->lastDay = $this->lastDay->getStringDate();
}
public function afterFetch()
{
$this->firstDay = new Day($this->firstDay);
$this->lastDay = new Day($this->lastDay);
}
public function afterSave()
{
$this->firstDay = new Day($this->firstDay);
$this->lastDay = new Day($this->lastDay);
}
答案 1 :(得分:0)
要从数据库中获取数据后应用一些格式,Phalcon提供了一个afterFetch
方法,您可以在模型上实现:
public function afterFetch()
{
$this->firstDay = new Day($this->firstDay);
$this->lastDay = new Day($this->lastDay);
}
我建议您查看documentation以查看您可以通过此方式管理的其他活动。