有没有办法将数据库函数调用分配给模型属性Yii2?
就像是:
$myModel->myAttribute = 'mysql:UUID()';
$myModel->save();
Run Code Online (Sandbox Code Playgroud)
或者,如果我想用保存时填充属性,我该怎么做uuid?
你可以做的是使用 yii\db\Expression 类:
$myModel->myAttribute = new yii\db\Expression('UUID()');
$myModel->save();
Run Code Online (Sandbox Code Playgroud)
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);
}
Run Code Online (Sandbox Code Playgroud)
https://www.yiiframework.com/doc/api/2.0/yii-db-baseactiverecord#beforeSave()-detail
| 归档时间: |
|
| 查看次数: |
3473 次 |
| 最近记录: |