Phalcon列名称前缀

时间:2016-09-02 09:26:09

标签: database orm mapping phalcon

我在下面有这个用户表。

enter image description here 在phalcon中,是否可以映射列名,以便在执行所有与模型相关的进程时可以删除所有前缀名称?在YII中,这是可行的。 所以,让我们说,

$user->id will point to $user->tbl_user_id;
$user->fullname will point to $user->tbl_user_fullname;
$user->phone will point to $user->tbl_user_phone;

调用表名没有问题,因为在模型中你可以指定getSource()。我尝试过我在网上发现但没有工作的列映射,也不确定它是否理想。

此外,如果我要以这种方式实施,这会导致问题吗?任何已知的缺点?

PHP VERSION

  

PHP 5.4.44-0 + deb7u1(cli)(建于2015年8月16日09:51:53)版权所有(c)   1997-2014 PHP Group Zend Engine v2.4.0,版权所有(c)1998-2014   Zend Technologies

1 个答案:

答案 0 :(得分:3)

您可以将数据库列名映射到内部Phalcon命名:

将其放入User型号

public function columnMap()
{
    return [
        // database column name => phalcon name
        'tbl_user_id'       => 'id',
        'tbl_user_fullname' => 'fullname',
        'tbl_user_phone'    => 'phone',
    ];
}

检查the documentation以获取有关列映射的更多信息。

  

ORM支持独立的列映射,允许开发人员在模型中使用与表中的列名不同的列名。 Phalcon将识别新的列名称并相应地重命名它们以匹配数据库中的相应列。 [...]。