Yii grid view 關聯其他表的字段

2021-08-08 21:59:08 字數 1311 閱讀 4779

舉例使用者和使用者組關聯:

user表字段為:

id,username,group_id,email,created_at
user_group表字段為:

id,group_code
後台顯示 user grid 的時候使用者組一列想顯示 group_code 而不是 group_id

修改如下:

在models\user.php 中新增函式:

public

function

getusergroup

()

之後修改models\usersearch.php

先新增 成員變數

pulbic $group_code;

// 修改 rules 函式 為group_code新增rules 下面一行**根據實際修改即可

[['group_code'], 'safe']

修改 search 函式,新增**:

$query

->joinwith([

'usergroup as ug'

]);

想讓其可以排序則新增**:

// 使用者組排序根據使用者組對應的id排序

$dataprovider->setsort([

'attributes' => [

'id',

'username',

'group_code' => [

'asc' => ['ug.id' => sort_asc],

'desc' => ['ug.id' => sort_desc],

],'email',

]]);

新增過濾:

$query

->andfilterwhere([

'like', 'ug.group_code', $this

->group_code]

);

最後前天新增顯示即可,修改檔案 views\user\index.php, columns 裡面新增

[

'label'=>'使用者組',

'attribute' => 'group_code',

//'value' => 'usergroup.group_code',

'value' => function

($model),

],

打完,收工!

yii GridView 常見操作

是否顯示某列 實現如下 attribute name 這裡寫 片 visible true,自定義值 attribute create time value function model 顯示 label 封面圖 format image width 100 height 100 value fun...

update關聯其他表批量更新資料

批量更新表時,update乙個表的列時,需要依賴另外的表,這種依賴可以是where條件子句,也可以要update的field的值依賴另外的表 通常有兩種做法 1.使用儲存過程 2.在程式 裡逐條迴圈執行 這裡給出一種更高效 簡潔的做法,批量更新sql 一句sql就可以替代麻煩的迴圈過程,有ms sq...

VO的Query關聯其他表字段用於判斷

一 概述 有時候。我們需要使用其他表中的字段是否存在來對本vo的顯示或者其他展示功能作出判斷。但是如果關聯了這張表中的字段。又會使得vo查詢的結果集過多。所以這時候考慮下面的方法。二 實現 把選擇的字段關聯起來。取出該欄位數量來判斷 select count 1 from bpm receive d...