我有一个名为 persons
的表有三列称为 id
, name
和 birth
.
我可以得到 name
和 birth
但我需要使用它的 birth
来计算人的年龄日期。我想使用 PostgreSQL 的函数: age(timestamp)
.但我不知道如何使用它。
有什么办法可以使用 PostgreSQL 的函数吗?
我试图在 View 中使用它,但后来我意识到它不起作用:
$person = \app\models\Persons::findOne(['id' => 1234]);
$myName = $person->name;
$myBirth = $person->birth;
$myAge = $person->age(birth);
我应该更改模型吗?我不知道在哪里使用 age
功能。
最佳答案
在您的模型中,您应该定义公共(public)属性 public $age;
。然后,您的选择语句应该是这样的:
$person = Persons::find()->select(['name', 'birth', 'age(birth) as age'])->andWhere(['id' => 1234])->one();
然后您可以将其作为属性访问:
$person->age;
关于postgresql - Yii2:如何使用 PostgreSQL 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46413201/