2

据我所知,可以通过以下变体定义表名:

1) 通过定义方法 getSource()

class Table1 extends \Phalcon\Mvc\Model 
{
    public function getSource()
    {
        return 'table1';
    }
}

2) 通过定义 $_source 属性

protected $_source = 'table1';

3) 哪里需要定义源表?在 initialize() 方法或 __construct() 中,为什么?

4)也许你可以告诉其他可能的解决方案?

4

1 回答 1

2

最好的方法是getSource在你的类中定义方法

public function getSource()
{
    return 'table1';
}

但是,您也可以使用setSource()in initialize(),或$_source再次设置 ininitialize()功能。

public function initialize()
{
    $this->setSource('table1');
}

执行所有必要的initialize()工作以将模型绑定到数据库并执行其他操作,以便向开发人员公开功能。__construct()就像人们在创建对象时所期望的那样调用。

$_source只要设置正确,我认为设置的位置没有太大差异。我个人的偏好是设置在getSource(). 它使事情保持整洁,我不必跟踪$_source变量。

于 2012-12-26T16:29:35.740 回答