Sendo uma questão básica para muitos, a verdade é que não consigo resolver o problema de passar para dentro da base de dados os valores em maiúsculas.
Consigo obrigar o campo a escrever em maiúsculas, no caso o campo ‘NOME’ mas este não guarda na base de dados os valores inscritos/apresentados no formulário.
Não entendo a expressão “minha_string”. Que valor é este… Onde se vai buscar. É algum valor que tem de ser ‘declarado’ tipo variável. Percebo a lógica mas parece-me faltar alguma coisa para ter exito com este comando. Obrigado.
De facto, responde ao que eu queria. Independentemente do que o utilizador escrever - minusculas ou maiusculas, o filtro converte todo o conjunto para maiusculas. Neste caso, é o campo Nome Completo. Queria estabelecer um padrão para o campo, independentemente da vontade ou do erro em digitalizar por parte do utilizador.
Se você usar o text-transform, ele só vai alterar visualmente a digitação, o correto é você usar esse filtro na função rules() do seu Model, mais tem um problema, já testou com caracteres acentuados? Em alguns caso os caracteres acentuados, eles ainda continua em minusculo, então vou postar uma dica aqui de como fazer.
public function rules()
{
return [
['name', 'filter', 'filter' => function($value) {
return mb_strtoupper($value, 'utf-8');
}
],
];
}
Se sua aplicação já estiver usando utf-8 como padrão, você pode alterar o ‘utf-8’ por Yii::$app->charset.