<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                用gii生成Model和CRUD之后,基本的增刪查改和列表頁都有了 但在很多時候,默認生成的列表所展示的 **數據列** 并不一定是我們想展示的 ### 修改所展示的數據列 打開視圖層目錄,找到剛生成出來的`index.php`,閱讀其代碼 <del>稍有常識的人都能看出,</del> 控制數據列顯示的就是`GridView::widget`方法的參數數組中的`columns`鍵 它大概長這樣: ```php 'columns' => [ ['class' => 'yii\grid\SerialColumn'], 'id', 'name', 'status', // 其他字段... ['class' => 'yii\grid\ActionColumn'], ], ``` 我們只要將其他字段解除屏蔽、屏蔽掉自己不想顯示的字段就行了 ### 顯示關聯字段 舉個例子,我有個**文章表Article**,表里有個**作者id author_id**字段 這個字段跟**作者表Author**的主鍵**id**相關聯 我希望在文章列表中顯示作者的名稱(name),要怎么做呢? 首先,給**Article**模型添加如下方法 ```php public function getAuthor() { return $this->hasOne(Author::className(), ['id'=>'author_id']); } ``` > 如果你不知道這有什么用,請閱讀 [Yii2手冊](http://www.yiichina.com/doc/guide/2.0/db-active-record) 內的 **查詢關聯的數據** 一節 然后,給`columns`數組添加一個成員`author.name`就行啦!就是這么方便! ### 自定義數據列內容 但是很多時候,光是控制顯示哪些字段還是不夠的 還是上面的例子,我有個**文章表Article**,表里有個**狀態Status**字段,值0表示隱藏、1表示顯示 但我總不能在列表里直接顯示0和1啊,篩選搜索時也不能要求用戶輸入0和1啊,體驗多不好 這時,我們就需要自定義數據列內容了 #### 定義常量 首先打開文章模型層,添加兩個常量 ```php class Article extends \yii\db\ActiveRecord { const STATUS_HIDE = 0; // 隱藏 const STATUS_SHOW = 1; // 顯示 ... ``` 這一步不是必須的,但這是一個良好的編程習慣 #### 修改數據列 打開視圖層`index.php`,將`columns`數組里的`status`成員改為數組 ```php [ 'format' => 'row', // 此列內容輸出時不會被轉義 'filter' => [ // 過濾器,也就是搜索框。該值為數組時會顯示一個下拉框(dropdown list) Article::STATUS_HIDE => '隱藏', Article::STATUS_SHOW => '顯示', ], 'attribute' => 'status', // 字段名 'value' => function ($model, $key, $index, $column){ // 該列內容 if($model->status == Article::STATUS_HIDE) return '<span class="label label-danger">隱藏</span>'; if($model->status == Article::STATUS_SHOW) return '<span class="label label-success">顯示</span>'; }, ], ``` > 注意,`format` 如果使用 `html`,則會嚴格檢測各屬性是否合法 > 例如 `data-id`、`abc` 這樣的非標準屬性會被刪除。因此建議使用 `row` 保存,刷新頁面,你就會驚喜地發現 **狀態** 列不再是單調的0和1啦!過濾器也變成可選下拉框了
                  <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>

                              哎呀哎呀视频在线观看