个性化阅读
专注于IT技术分析

Phalcon模型行为

行为是行为共享, 模型可以使用行为重用代码。 ORM提供一个API来实现模型中的行为。为了实现行为, 我们有其他选择, 例如事件和回调, 可以提高行为效率。

内置行为如下:

Name Description
Timestampable 它允许在创建或更新记录时自动更新模型的属性, 并保存日期时间。
SoftDelete 它不是永久删除记录, 而是通过更改标志列的值将记录标记为已删除。

实作

它实现了Timestampable的预定义行为, 该行为包含单个事件或完整事件的许多选项。

<?php
use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Behavior\Timestampable;

class Users extends Model
{
    public $id;

    public $name;

    public $created_at;

    public function initialize()
    {
        $this->addBehavior(
            new Timestampable(
                [
                    'beforeCreate' => [
                        'field'  => 'created_at', 'format' => 'Y-m-d', ]
                ]
            )
        );
    }
}

现在, 使用PHP函数”时间”为”格式”创建数组选项:

<?php

use DateTime;
use DateTimeZone;
use Phalcon\Mvc\Model\Behavior\Timestampable;

public function initialize()
{
    $this->addBehavior(
        new Timestampable(
            [
                'beforeCreate' => [
                    'field'  => 'created_at', 'format' => function () {
                        $datetime = new Datetime(
                            new DateTimeZone('India/Delhi')
                        );

                        return $datetime->format('Y-m-d H:i:sP');
                    }
                ]
            ]
        )
    );
}
赞(0)
未经允许不得转载:srcmini » Phalcon模型行为

评论 抢沙发

评论前必须登录!