<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 需求 一個試用申請平臺,需要在試用申請列表(Application)內展示申請人(User)姓名 ### 準備工作 >[warning] 用gii生成Model、CRUD 如果你不知道什么是gii,請不要跟別人說你會用yii ### 數據庫結構 **申請表application** 含有字段 user_id 與 **用戶表user** 的 id 字段一對一關聯 ### 第一步 給Application模型添加如下方法 ```php public function getUser() { return $this->hasOne(User::className(), ['id'=>'user_id']); } ``` > 如果你不知道這有什么用,請閱讀 [Yii2手冊](http://www.yiichina.com/doc/guide/2.0/db-active-record) 內的 **查詢關聯的數據** 一節 ### 第二步 給ApplicationSearch模型添加一個屬性 ```php public $user_name; ``` 這個屬性用于存放申請人姓名,在后續操作中yii會自動調用它; 在 `rules()` 方法中將 `user_name` 設為 **safe**。例如這樣 ```php public function rules() { return [ [['user_name'], 'safe'], ]; } ``` 否則的話,在后續的搜索時會被yii認為是不安全的字段而丟棄 ### 第三步 修改ApplicationSearch模型的`search`方法 ```php $query = Application::find(); $query->joinWith(['user']); // 關聯user表 ``` 然后添加排序,在 ```php $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); ``` 后面添加如下代碼 ```php $sort = $dataProvider->getSort(); // 獲取yii自動生成的排序規則 $sort->attributes['user_name'] = [ // 添加用戶名的排序規則 'asc' => ['{{%user}}.name' => SORT_ASC], 'desc' => ['{{%user}}.name' => SORT_DESC], ]; $dataProvider->setSort($sort); // 設置排序規則 ``` 這樣就可以正常排序了。然后再添加搜索功能 ```php $query->andFilterWhere(['like', '{{%user}}.name', $this->user_name]); ``` ### 第四步 修改視圖層 **application/index** 內的 `GridView::widget()`參數,給 `columns` 數組添加以下成員: ```php [ 'attribute' => 'user_name', 'label'=>'申請人姓名', 'value' => 'user.name', 'filter'=>Html::activeTextInput($searchModel, 'user_name', ['class'=>'form-control']), // 生成一個搜索框 ], ``` 至此,刷新瀏覽器,應該就可以看到關聯字段被正常顯示并支持搜索、排序了
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看