我在下面有这个用户表。
在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
答案 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将识别新的列名称并相应地重命名它们以匹配数据库中的相应列。 [...]。