В Yii2 у меня был контроллер, который генерирует gridview (kartik) с некоторыми динамическими столбцами, я должен сделать фильтры для этих столбцов, но чтобы сделать фильтр для столбца, мне нужна переменная с именем этого столбца в searchModelи запись в массиве правил с тем же именем, как сделать так, чтобы мои столбцы динамически генерировались в контроллере?
Я пытался использовать массив в качестве переменной, с ключами в качествеимя столбцам, но я не знаю, как использовать массивы в searchModel с правилами.
searchModel.php
...
public $loja_cnpj;
public $loja_nome;
public $forn_status;
// public $forn10420318; <- this need to be generate dynamically
public function rules()
{
return [
[['id', 'empresa_id', 'grupo_loja_id', 'status', 'numero_checkout',
'numero_funcionarios', 'loja_id'], 'integer'],
// [['nome', 'telefone', 'empresa','grupo_loja', 'email', 'cnpj',
'loja_nome', 'loja_cnpj', 'forn10420318'], 'safe'],
[['nome', 'telefone', 'empresa','grupo_loja', 'email', 'cnpj',
'loja_nome', 'loja_cnpj', 'forn_status["forn10420318"]'], 'safe'],
[['area_venda', 'tamanho_loja'], 'number'],
['forn_status', 'each', 'rule' => ['safe']], <- i'm stuck here
];
...
controller.php
...
$searchModel = new LojaFornecedorSearch();
...
foreach($queryFornecedor as $fornecedor){
$colTemp = array([
'attribute' => 'forn'.$fornecedor->id,
'label' => 'forn'.$fornecedor->id,
'value' => function($model)use($fornecedor)... <- dynamic columns array to be inserted in gridView
i 'Я застрял в этой точке.