$query = ReportMailing::find()->where(['user_id' => Yii::$app->user->id]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => Yii::$app->params['showEntriesDefault'],
'forcePageParam' => false,
'pageSizeParam' => false,
],
'sort' => [
'defaultOrder' => [
'created' => SORT_DESC,
]
],
]);
$this->load($params);
if (!$this->validate()) {
return $dataProvider;
}
$query->andFilterWhere(['like', 'mailing_id', $this->subject]);
return $dataProvider;public function getMailing()
{
return $this->hasOne(Mailing::className(), ['id' => 'mailing_id']);
}
[
'attribute' => 'mailing_id',
'format' => 'raw',
'value' => function ($data) {
return Html::a($data->mailing->subject, Url::to(['report/view', 'id' => $data->id]));
},
],
$query = ReportMailing::find()->joinWith('mailing')->where(['user_id' => Yii::$app->user->id]);
// формируете $dataProvider
$query->andFilterWhere(['like', '{{%mailing}}.subject', $this->subject]);
return $dataProvider;$query->andFilterWhere(['{{%mailing}}.subject' => $this->subject]); $query = ReportMailing::find()->joinWith(['mailing']);
$query->andFilterWhere(['like', '{{%mailing}}.subject', $this->subject]);$query->andFilterWhere(['>=', 'created', $this->dateFrom])
->andFilterWhere(['<=', 'created', $this->dateBy.'23:59:59']); $query = ReportMailing::find()->joinWith(['mailing']);
$query->andFilterWhere(['{{%report_mailing}}.user_id' => Yii::$app->user->id]);
$query->andFilterWhere(['like', '{{%mailing}}.subject', $this->subject])
->andFilterWhere(['like', '{{%report_mailing}}.status', $this->status]);
$query->andFilterWhere(['>=', '{{%report_mailing}}.created', $this->dateFrom])
->andFilterWhere(['<=', '{{%report_mailing}}.created', $this->dateBy.'23:59:59']);
$query->andFilterWhere(['>=', '{{%report_mailing}}.created', $this->dateFrom . ' 00:00:00'])
->andFilterWhere(['<=', '{{%report_mailing}}.created', $this->dateBy . ' 23:59:59']);