加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:31:10 所属栏目:PHP教程 来源:网络整理
导读:我的模型FAQ有4个属性 * @property integer $id * @property string $chapter * @property string $question * @property string $answer 现在我的actionIndex函数看起来像 public function actionIndex(){ $faq = Faq::find()-all(); $dataProvider = new A
我的模型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().这样,获取数据的查询不会运行两次.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读