Почему последний элемент из БД выводит NULL ( используется RedBeanPHP)?

109
28 июня 2021, 19:20

В базе данных есть таблица

Столбцы имеют такие характеристики

Команда выводит нужную строку

echo R::load('name_table', 113);  //  выводит строку из таблицы name_table, которая содержит значение 113
//ВЫВОДИТ ПО ПОРЯДКУ: {"id":"113","name_pay_link":"Мой первый товар","price_pay_link":"154","url_pay_link":"https:www.google.ru","idUser":"104"}


Почему может не выводиться последний столбец? idUser

По очереди выводим значение каждого столбца у этой строки

$uniq_id= R::load('name_table', 113);  // читаем строку из таблицы name_table, где нашли значение 113
echo $uniq_id->id; // ВЫВОДИТ 113
echo $uniq_id->name_pay_link; // ВЫВОДИТ Мой первый товар
echo $uniq_id->price_pay_link; // ВЫВОДИТ 154
echo $uniq_id->url_pay_link; // ВЫВОДИТ https://www.google.ru
echo $uniq_id->idUser; // ВЫВОДИТ ПУСТОЕ ЗНАЧЕНИ, var_dump говорит NULL



p.s. var_dump($uniq_id) выдает следующее

Answer 1

При доступе к свойству объекта: $uniq_id->idUser, неявно происходит вызов магического метода __get($property), в теле которого проверяется регистр букв у запрошенного свойства и если оно не состоит только из символов нижнего регистра - вызывается функция beau($property), которая преобразует название у свойства из camelCase в название в нижнем регистре с подчеркиванием: idUser -> id_user.

Чтобы не переименовать название поля idUser в таблице, можно запросить все значения в виде ассоциативного массива, привести его к объекту и получать из него значения:

$uniq_id = (object)R::load('name_table', 113)->getProperties();
echo $uniq_id->userId;
Answer 2

По умолчанию redbeanphp не может считывать символы в верхнем регистре.

Решение задачи:

Переименовать idUser на iduser

READ ALSO
Как загрузить картинку в папке средствами PHP?

Как загрузить картинку в папке средствами PHP?

Не могу разобраться, как сделать форму загрузки изображений, поддерживающую загрузку, сразу нескольких файловКак я могу это реализовать...

105
Telegram bot + группа, как исправить команды бота?

Telegram bot + группа, как исправить команды бота?

Настроил бота, все круто-замечательно, ток одного не пойму! В приватной беседе, у бота команды / имеют вид - /command Добавляю бота в группу и к ссылкам...

89
Переменные в SQL запросе (PHP)

Переменные в SQL запросе (PHP)

Доброго времени сутокВопрос может глупый, но правда гугл мне не может помочь (может запрашиваю не так, может ещё, что) есть SQL запрос, который...

113
NoSuchMethodError при тестировании с помощью Appium

NoSuchMethodError при тестировании с помощью Appium

Я пытаюсь запустить приложение Facebook и нажать на кнопку "Создать новый аккаунт", используя Appium + эмулятор Андроида GenymotionМой код;

200