据我所知,可以通过以下变体定义表名:
1)通过定义方法getSource()
class Table1 extends \Phalcon\Mvc\Model
{
public function getSource()
{
return 'table1';
}
}
2)通过定义$ _source属性
protected $_source = 'table1';
3)哪里有必要定义源表?在initialize()方法或__construct()中为什么?
4)也许你可以告诉其他可能的解决方案?
答案 0 :(得分:2)
最好的方法是在班级中定义getSource
方法
public function getSource()
{
return 'table1';
}
但是,您也可以使用setSource()
中的initialize()
,或者再次将$_source
设置为initialize()
功能。
public function initialize()
{
$this->setSource('table1');
}
initialize()
执行将模型绑定到数据库并执行其他操作所需的所有工作,以便将功能公开给开发人员。调用__construct()
是在创建对象时所期望的。
只要您正确设置$_source
,我认为您设置的位置不会有很大差异。我个人的偏好是在getSource()
中设置它。它使事情保持整洁,我不必跟踪$_source
变量。