从查询yii2获取数组而不是字符串

时间:2018-01-21 11:45:31

标签: php mysql arrays yii2

任务是保存带有行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;  

2 个答案:

答案 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']; 现在它可以工作