Чтобы получить некоторый контекст, мой контроллер выбирает из запроса массив ref.Затем результаты печатаются в шаблоне следующим образом.
home.html.ep
<td> <%= @$query_result[0]->{data} %> </td>
<td> <%= @$query_result[1]->{data} %> </td>
....
<td> <%= @$query_result[27]->{data} %> </td>
Из-за того, что некоторые результаты не существуют, Mojolicious выдает ошибку (не может использовать значение хеша undef)...)
Что я пытаюсь сделать:
Когда Mojolicious добирается до ключа / значения хэша undef, чтобы напечатать 'No Data'.
Я пытался так:
<td> <%= @$query_result[27]->{data} || 'no data' %> </td>
or
<td> % (exists(@$query_result[27]->{data})) ? <%= @$query_result[27]->{data} %> : 'no data' </td>
or
<td>
% if (exists($query_result[27]->{data})) {
<%= $query_result[27]->{data} %>
% } else {
'No data'
% }
Я не могу просто удалить <% = $ query_result [27] -> {data}%>, потому что он возвращен из запроса, который выполняется с другими параметрами, и только некоторые параметры не возвращают 27-й массив.
Есть ли способ достичь того, что я пытаюсь?Спасибо!