As tabelas de dados laravel retornam um HTML como um texto Eu usei rawColumns e escapeColumns, mas não está funcionando
Por favor, que solução e obrigado
Por favor, encontre as fotos abaixo
Olá,
é normal, escapeColumn é para colunas de escape, portanto, é escapado.
Mas, o que devo fazer, para retornar o elemento HTML?
Obrigado pela sua resposta
você pode usar rawColumns(['link'])
Eu usei, apareceu esse mesmo problema
tente usar a versão 7.9.5, está funcionando para mim, talvez seja um bug recente.
editar:
Acho que encontrei o bug, há uma array_diif_key dentro de escapeColumns no DataProcessor
tente ['link' => true]
ou algo parecido.
Eu usei a última versão do laravel de datatables,
Eu tentei também ['link' => true] mas não funcionou,
Devo atualizar a versão do laravel para 5.4?
Eu não acho que isso vai resolver o seu problema
O que devo fazer na sua opinião?
você tentou escapeColumns (['link' => true) ou rawColumns (['link' => true])?
Sim, ele é.
quero dizer qual você testou?
você também pode tentar escaparColumns ([]).
Eu testei os dois
escapeColumns ([]) deve desativar o escape em todas as colunas como uma solução alternativa
Eu tentei todas as soluções, mas nada mudou
e escapeColumns (null)?
Mesmo problema,
Eu tenho uma pergunta, por que a coluna de ação retorna HTML, mas o link não?
deve funcionar, eu não entendo.
você removeu todas as chamadas escapeColumns?
Como posso remover todas as chamadas escapeColumns? e porque?
dentro do seu código, quero dizer,
porque se você está fazendo rawColumns
e em seguida faça o oposto com escapeColumns em algum outro lugar do seu código.
Meu código agora é
return Datatables :: of ($ row)
-> addColumn ('link', ' Coluna Html
-> addColumn ('ação', ' Coluna Html
-> escapeColumns (null)
-> make (true);
tente -> escapeColumns ('') em vez disso, mas um array vazio deve funcionar também, eu não entendo.
Mesmo problema, também não entendo porque a ação provavelmente funciona, mas o link não
a ação funciona porque não é escapada por padrão
Obrigado pelo seu esforço,
Existe alguma maneira de encontrar uma solução?
Lançou um patch v7.9.8. Você pode verificar se isso corrige o problema? Obrigado e desculpe pelo inconveniente.
Como posso atualizar para a última versão?
eu acho que você deveria tentar:
[
'link' => 'link'
];
a versão mais recente não corrige esse problema para mim.
se eu fizer :
->escapeColumns(['action' => 'action'])
->rawColumns(['action'])
a coluna de ação tem escape, e se eu fizer:
->escapeColumns(['action' => 'action'])
->rawColumns(['action => 'action'])
a coluna não tem mais escape.
Como posso atualizar minha versão para 7.9.8
você pode alterar seu composer.json e definir yajra / laravel-datatables para 7.9.8
e então o composer atualiza yajra / laravel-datatables
ou você pode fazer composer require yajra / laravel-datatables 7.9.8 diretamente, ele mudará seu composer.json e atualizará o pacote
Ok vou tentar
Obrigada
Finalmente, funciona,
Obrigado Yajre e IK77
usei escapeColumn ['link'] na última versão e provavelmente está funcionando
para versões acima de 8, você deve ir para o arquivo config / datatables.php .... e adicionar o nome da coluna em .... raw => ['name_of your_column']
Comentários muito úteis
tente -> escapeColumns ('') em vez disso, mas um array vazio deve funcionar também, eu não entendo.