任务是保存带有行ID的$ model->图像。 预测下一个自动增量ID我使用下面的查询。 mysql返回正确的结果,但是当我尝试将此查询结果保存在模型中时,它会像'Array'字符串一样保存它。 例如:article_Array_1516534305.png而不是article_13_1516534305.png
我尝试使用array_shift()函数,但结果是相同的
$connection = Yii::$app->getDb();
$dbName = $this->getDsnAttribute('dbname', Yii::$app->getDb()->dsn);
$query = new Query;
$query->select('AUTO_INCREMENT')
->from('information_schema.TABLES')
->where("TABLE_SCHEMA = '".$dbName."'")
->andWhere("TABLE_NAME = '".$this->tableName()."'");
$id = $query->one();
$this->image = 'article_'.$id.'_'.time(). '.' . $image->extension;
答案 0 :(得分:3)
使用$ query-> one()可以获得单个模型
如果只需要列值,则应使用标量()
$query->scalar();
http://www.yiiframework.com/doc-2.0/guide-db-query-builder.html
http://www.yiiframework.com/doc-2.0/yii-db-query.html#scalar()-detail
或者如果你想要模型,你可以使用
$id = $query->one();
$id = $id['AUTO_INCREMENT'];
答案 1 :(得分:0)
$ id = $ query-> one(); $ id = $ id ['AUTO_INCREMENT']; 现在它可以工作