舉例使用者和使用者組關聯:
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...