Yii2:如何使用PostgreSQL的功能?

时间:2017-09-25 19:56:13

标签: postgresql model-view-controller yii2

我有一个名为persons的表,其中有三列名为idnamebirth

我可以获得namebirth,但我需要使用birth日期来计算年龄。我想使用PostgreSQL的函数:age(timestamp)。但我不知道如何使用它。

有没有办法使用PostgreSQL的功能?

我试图在视图中使用它,但后来我发现它不起作用:

$person = \app\models\Persons::findOne(['id' => 1234]);
$myName  = $person->name;
$myBirth = $person->birth;
$myAge   = $person->age(birth);

我应该更改模型吗?我不知道在哪里使用age功能。

1 个答案:

答案 0 :(得分:3)

在您的模型中,您应该定义公共属性public $age;。然后,您的select语句应如下所示:

$person = Persons::find()->select(['name', 'birth', 'age(birth) as age'])->andWhere(['id' => 1234])->one();

然后您可以将其作为属性访问:

$person->age;