У меня проблема с моим скриптом.
Если я напишу :
{{ ($data->classroom??'' == $clr->id) ? 'checked' : '' }}
Это работает.
Но я не могу этого сделать, потому что $data->classroom
будет параметром для сравнения списков $clr->id
(назначение переключателя).
Но если я напишу:
{{ ($clr->id == $data->classroom??'') ? 'checked' : '' }}
Нулевая безопасность (??) не работает.
Заранее спасибо :)
Простой @if ... @endif
не подойдет?
это не работает, потому что ноль все еще обнаруживается. HTML и Blade одинаковы, поэтому я ставлю их CMIIW.
@brombeer да, может быть, но я попробую позже, если я не могу найти решение в течение дня
ИМХО так и должно быть {{ ($clr->id == $data->classroom?) ? 'checked' : '' }}
. ?? является не нулевым оператором безопасности, а оператором объединения с нулевым значением: php.net/manual/en/…
Двойной вопросительный знак, также называемый нулевым оператором объединения, в вашем случае запускается после операции ==. Итак, если вы хотите добиться этого, вам нужно поставить скобки следующим образом:
($clr->id == ($data->classroom??''))[...]
"не работает" - что это значит? Кроме того, как это связано с самим HTML или сеть?