如何在Yii2中获得结果的第一行?(queryRow 等效)

Blo*_*und 0 yii2 yii2-advanced-app

我怎样才能得到第一行的结果?下面是我的代码,它给了我这样的错误Undefined index: module

if ( substr( $action, 0, 4 ) === "stl_" )
            {
                $query  = "SELECT * FROM a_actions LEFT JOIN a_modules ON ( a_modules.id=a_actions.module_id )
                        WHERE a_actions.id=(SELECT dependency FROM a_actions WHERE action='{$action}') AND a_modules.module_status = 1 ";
                $action = \Yii::$app->db->createCommand( $query )
                                        ->queryAll();
//print_r($action);die();
                $module = $action[ 'module' ];
                $action = $action[ 'action' ];
            }
Run Code Online (Sandbox Code Playgroud)

$action 有价值

Array ( [0] => Array ( [id] => 7 [module_id] => 7 [action] => index [label] => Members [dependency] => [created_by] => [created_at] => [updated_by] => [updated_at] => [is_deleted] => 0 [module] => members [module_name] => [module_status] => 1 ) )
Run Code Online (Sandbox Code Playgroud)

在 Yii1 我会用

$action = \Yii::$app->db->createCommand( $query )
                                        ->queryRow();
Run Code Online (Sandbox Code Playgroud)

Ins*_*ull 5

您可以使用 queryOne()

\Yii::$app->db->createCommand( $query )
->queryOne();
Run Code Online (Sandbox Code Playgroud)

查询一个()