/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Gorder::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     //        error_log(print_r($query->from(['users1'=>'kxw_gorder']),1));
     //from(['users'=>'kxw_users']) users 是 表kxw_users的别名
     $query->joinWith(['users' => function ($query) {
         $query->from(['users' => 'kxw_users']);
     }]);
     // 使得关联字段可以排序
     $dataProvider->sort->attributes['users.telephone'] = ['asc' => ['users.telephone' => SORT_ASC], 'desc' => ['users.telephone' => SORT_DESC]];
     $dataProvider->sort->attributes['users.create_time'] = ['asc' => ['users.create_time' => SORT_ASC], 'desc' => ['users.create_time' => SORT_DESC]];
     $dataProvider->sort->attributes['users.id'] = ['asc' => ['users.id' => SORT_ASC], 'desc' => ['users.id' => SORT_DESC]];
     $dataProvider->sort->attributes['users.email'] = ['asc' => ['users.email' => SORT_ASC], 'desc' => ['users.email' => SORT_DESC]];
     $this->load($params);
     //从参数的数据中加载过滤条件
     if (!$this->validate()) {
         //验证
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'uid' => $this->uid]);
     $query->andFilterWhere(['like', 'gordernumber', $this->gordernumber])->andFilterWhere(['like', 'gototal', $this->gototal])->andFilterWhere(['like', 'gostatus', $this->gostatus])->andFilterWhere(['like', 'address', $this->address])->andFilterWhere(['like', 'kxw_gorder.create_time', $this->create_time])->andFilterWhere(['like', 'users.telephone', $this->getAttribute('users.telephone')])->andFilterWhere(['like', 'users.create_time', $this->getAttribute('users.create_time')]);
     return $dataProvider;
 }
示例#2
0
}, 'attribute' => 'create_time'], ['class' => 'yii\\grid\\DataColumn', 'value' => function ($data) {
    if ($data->pay_time) {
        return date('Y-m-d H:i:s', $data->pay_time);
        // 如果是数组数据则为 $data['name'] ,例如,使用 SqlDataProvider 的情形。
    }
}, 'attribute' => 'pay_time', 'filter' => DatePicker::widget(['addon' => '', 'language' => 'zh-CN', 'name' => 'pay_time

                    ', 'value' => Yii::$app->request->get('pay_time'), 'template' => '{addon}{input}', 'clientOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd']])], ['class' => 'yii\\grid\\DataColumn', 'value' => function ($data) {
    if ($data->finish_time) {
        return $data->finish_time;
        //                        return Yii::$app->formatter->asDate($data->finish_time, 'yyyy-MM-dd'); // 如果是数组数据则为 $data['name'] ,例如,使用 SqlDataProvider 的情形。
    } else {
        return '交易进行中';
    }
}, 'attribute' => 'finish_time'], 'address', ['class' => 'yii\\grid\\DataColumn', 'attribute' => 'gostatus', 'label' => '订单状态', 'value' => function ($model) {
    return \app\models\Gorder::get_gostatus1($model->gostatus);
}, 'filter' => \app\models\Gorder::get_gostatus()], ['class' => 'yii\\grid\\ActionColumn', 'controller' => 'my', 'template' => '{view}', 'header' => '查看订单详情'], ['class' => 'yii\\grid\\ActionColumn', 'header' => '操作']]]);
?>

<?php 
echo DatePicker::widget(['name' => '', 'value' => '', 'template' => '{addon}{input}', 'clientOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd']]);
?>
</div>

<script>
//    用户可点击复选框来选择网格中的一些行。被选择的行可通过调用下面的JavaScript代码来获得:

    var keys = $('#grid').yiiGridView('getSelectedRows');  //为什么提示 $不存在
    // keys 为一个由与被选行相关联的键组成的数组
</script>
 /**
  * Finds the Users model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param string $id
  * @return Users the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Gorder::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }