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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/php/137693.html

猜你在找的PHP相关文章