有没有办法在 Yii2
中将数据库函数调用分配给模型属性?
类似于:
$myModel->myAttribute = 'mysql:UUID()';
$myModel->save();
或者如果我想在保存时用 uuid
填充属性,我该怎么做?
最佳答案
你可以做的是使用 yii\db\Expression 类:
$myModel->myAttribute = new yii\db\Expression('UUID()');
$myModel->save();
https://www.yiiframework.com/doc/api/2.0/yii-db-expression
如果您想在创建时设置 UUID,请在您的模型类中插入以下函数:
public function beforeSave($insert)
{
if($insert === self::EVENT_BEFORE_INSERT){
$this->myAttribute = new yii\db\Expression('UUID()');
}
return parent::beforeSave($insert);
}
https://www.yiiframework.com/doc/api/2.0/yii-db-baseactiverecord#beforeSave()-detail
关于php - 将 uuid 分配给 yii2 中的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58012566/