baka/database

Baka 数据库组件

v0.5.3.2 2020-05-21 15:07 UTC

README

Baka 数据库

Scrutinizer Code Quality Code Coverage Build Status

模型

Baka 模型的默认行为是提供正常的功能来处理任何 mc 项目

  • 自动更新 updated_at 和 created_at 时间
  • 通过调用 softDelete() 而不是 delete() 来实现软删除
  • 使用 toFullArray() 而不是 toArray() 以避免 Phalcon 序列化移除模型上的动态字段
  • 自定义字段特性和 CLI
  • 哈希表特性用于动态属性

自定义字段模型

我们寻找的一种事物是垂直增长的表,而不是水平增长。我们创建了自定义字段,以避免在项目后期添加新字段到表中,这样我们可以动态管理它们,并在以后为客户端添加更好的信息管理界面

要从模块创建自定义字段表,您需要使用我们的 CLI

使用时,您需要让您的模型继承自 ModelCustomFields

<?php

namespace Canvas\Models;

class Leads extends \Baka\Database\Model
{
    use CustomFieldsTrait;
}

并且您还需要创建自定义字段模型值

<?php

namespace Canvas\Models;

use \Baka\Database\CustomeFieldsInterface;

class LeadsCustomFields extends \Baka\Database\Model implements CustomeFieldsInterface
{
   /**
     * Set the custom primary field id
     *
     * @param int $id
     */
    public function setCustomId(int $id)
    {
        $this->leads_id = $id;
    }
}

就是这样,现在您可以使用这个自定义字段模型,就像使用任何其他模型一样,无需其他解释,它们将像 Phalcon 的正常模型一样工作

哈希表

正如其名所示,您有一个表,用于任何您想要的实体,具有键值。当您需要在系统中向任何表添加设置时,这非常有用

<?php

namespace Canvas\Models;

class Leads extends \Baka\Database\Model
{
    use HashTableTrait;
}