【问题标题】:Yii2 ActiveDataProvider find()->all()Yii2 ActiveDataProvider find()->all()
【发布时间】:2015-03-18 21:35:57
【问题描述】:

当我想用->joinWith('user_display')->all(); 加入表时,也许我想念关于 ActiveDataProvider 的一些信息 我有错误:“查询”属性必须是实现 QueryInterface 的类的实例,例如yii\db\Query 或其子类。

public function search($params)
{
    $query = FinanceSettingsCheckoutcounter::find()->joinWith('user_display')->all();


    $dataProvider = new ActiveDataProvider([
        'query' => $query,
    ]);
    $this->load($params);

    if (!$this->validate()) {
        return $dataProvider;
    }

        return $dataProvider;
}

【问题讨论】:

    标签: yii2


    【解决方案1】:

    ActivedataProvider 需要查询。在您的情况下,您发送查询结果 (all())

    $query = FinanceSettingsCheckoutcounter::find()->joinWith('user_display');
    

    【讨论】:

    • 我无法显示数据,gridview 中的 'attribute'=>'user_display.user_id' 没有显示任何内容。这是我的 user_display 函数: public function getUser_display() { return $this->hasMany(User_display::className(), ['id' => 'user_id']) ->viaTable(FinanceSettingsCheckoutcounterUsers::tableName(), [' Finance_settings_checkoutcounter_id' => 'id']) ->from(['user_display' => User_display::tableName()]) ; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多