値がnullでコードが機能していない場合、yii2 gridveiwの空の列を非表示にしたい。yii2 gridview hide空の列が機能しない
私はこのコードを試してみました:動作していないコードの両方の線の上
[
'attribute'=>'division',
'value'=>'divisionName.name',
'visible' => function ($data) {
if ('divisionName.name' == NULL) {
return true;
} else {
return false;
}
},
]
:
[
'attribute'=>'division',
'value'=>'divisionName.name',
'visible' => function ($data) {
if ('divisionName.name' == NULL) {
return '0'; // or return true;
} else {
return '1'; // or return false;
}
},
]
そして、これを試してみました。 divisionName.nameがnullの場合、gridviewから列全体を非表示にしますが、このコードで何が問題になりますか?
これはまったく混乱しています。 '' visible''に関数を設定することはできません。trueまたはfalseだけが許されます。このプロパティは一度しか評価されません。値がある場合は各行をチェックせず、列を表示するかどうかを決定します。そして ''divisionName.name' == NULL'はfalseです。文字列とNULLを比較します。そして 'if(...)が真を返します。それ以外の場合はfalseを返します; '...あなたはこれが絶対に余計なことを知っていませんか? – robsch
@robschが「目に見える」のであれば、あなたはテストの結果をアースすることができます。 – scaisEdge