gpt4 book ai didi

php - Yii 在创建数据库列之前检查它是否存在

转载 作者:可可西里 更新时间:2023-10-31 23:52:24 26 4
gpt4 key购买 nike

我希望在创建列之前检查表中是否存在数据库列。我知道这可以使用纯 sql 轻松完成,但我想尝试使用 db 模式函数以 Yii 方式完成。

下面的 if 语句不起作用,因为没有 getColumn 函数,所以使用 db->schema 还有什么可以用来检查列 ($model->VARNAME) 是否存在?

if(!Yii::app()->db->schema->getColumn($form->TABLE_NAME, $model->VARNAME))
{
if($model->save())
{
Yii::app()->db->schema->addColumn($form->TABLE_NAME, $model->VARNAME, $column_t);
$this->redirect(array('view','field'=>$model->FIELD_ID));
}
}
else
{
$model->addError('VARNAME','Column "'.$model->VARNAME.'" already exists. Please pick a new column name.');
}

最佳答案

根据 Yii 2.0,它应该可以解决问题:

$table = Yii::$app->db->schema->getTableSchema('mytable');
if (!isset($table->columns['somecolumn'])) {
// do something
}

关于php - Yii 在创建数据库列之前检查它是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18540530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com