微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Yii2 – 获取所有独特模型属性值的最佳方法是什么?

我的模型FAQ有4个属性

* @property integer $id
* @property string $chapter
* @property string $question
* @property string $answer

现在我的actionIndex函数看起来像

public function actionIndex()
{

    $faq = Faq::find()->all();

    $dataProvider = new ActiveDataProvider([
        'query' => Faq::find(),]);

    return $this->render('index',[
        'dataProvider' => $dataProvider,'faq' => $faq
    ]);
}

如何在Controller中使用Yii2或PHP获取$chapter的唯一值数组?让我们说在sql看起来像

SELECT disTINCT chapter FROM’faq_table’

这可以这样做:
Faq::find()->select('chapter')->distinct()->all();

如果您希望结果为普通数组而不是包含Faq模型的数组,则可以在 – > all()之前添加asArray().

运行下面的代码显示它将生成这个确切的查询.

Faq::find()->select('chapter')->distinct()->createCommand()->getsql();

额外评论.我也认为最好删除$faq = Faq :: find() – > all();如果要使用模型,请使用$dataProvider-> getModels().这样,获取数据的查询不会运行两次.

原文地址:https://www.jb51.cc/php/137693.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐