代码之家  ›  专栏  ›  技术社区  ›  Roby Sottini

yii2:如何过滤find()的字段->所有函数?

  •  0
  • Roby Sottini  · 技术社区  · 7 年前

    我必须创建一个只有两个字段的json( 身份证件 名称 )从我的数据库的一个表中得到的数据。

    我在我的 分析控制器 我的yii2应用程序文件:

    public function actionAnalysis()
    {
        Yii::$app->response->format = Response::FORMAT_JSON;
        $query = Analysis::find()->all();
        return $query;
    }
    

    然后我用 http://localhost:8080/analysis/analysis 而且效果很好。但是它返回了很多字段,我只需要 身份证件 名称 字段。

    如何修改 动作分析() 函数以便它可以筛选字段?

    1 回复  |  直到 6 年前
        1
  •  3
  •   marc_s MisterSmith    6 年前

    你可以用 select()

    $query = Analysis::find()->select(['id','name'])->all();
    

    如果你需要一个数组 asArray()

    $query = Analysis::find()->select(['id','name'])->asArray()->all();
    

    或者

    你想设置下拉菜单prefer column()

    $query = Analysis::find()->select('name')->indexBy('id')->column();