@Minusator

Как исправить ошибку Warning: Undefined property: stdClass::$field?

На php 8.1 получаю ошибку Warning: Undefined property: stdClass::$field по следующим строкам
$type = substr($condition->field,0,strpos($condition->field,"_"));

else {
            $field = '$("#' . $condition->field . '").val()';
        }

if ($condition->field != "") {
                        $type = substr($condition->field,0,strpos($condition->field,"_"));
                        if ($type == "radioButton" || $type == "checkBox" || $type == "thumbnailSelector" ) {
                            $fields[] = "input[name='".$condition->field."_value']";
                        } else if($type=="starRating" || $type=="scaleRating" ){
                            $fields[] = "input[name='".$condition->field."']";
                        }else if($type == "calculateField"){
                            $fields[] = "input:hidden[name=".$condition->field."_value]";
                        } else {
                            $fields[] = '#' . $condition->field;
                        }
                    }

Как можно исправить данную ошибку без отката на предыдущую версию php? Благодарю за помощь!
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
@v__V__v
Разработчик
Очевидно же, что где-то у вас $condition->field, а где-то - $condition->$field. В какой-то момент в $field оказывается имя поля, которого у объекта попросту нет, а вы его пытаетесь прочитать. В старых версиях php бы молча вернул null, а с 8.1 он ругается. Поищите у себя в коде '->$field'.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы