Добрый день. Учусь работать с библиотекой RedBean R::findAll выводит только одну (последнюю) запись из таблицы БД PHP: function p ($var) { echo "<pre>"; print_r($var); echo "</pre>"; } $posts = R::findAll('project'); p($posts); Как сделать чтобы выводило все данные с таблицы?
Ого! Убедись, что в таблице project есть prmary key колонка с названием id (в нижнем регистре). Если есть -- покажи схему project.
Проблема, которую вы описали, довольно необычна, поскольку метод R::findAll() по умолчанию должен возвращать все записи из указанной таблицы. Если он возвращает только одну запись (последнюю), возможно, в таблице действительно только одна запись, или есть другие скрытые проблемы. Вот несколько шагов для диагностики и решения проблемы: 1. Проверьте количество записей в таблице PHP: $count = R::count('project'); p($count); Убедитесь, что в таблице больше одной записи. 2. Проверьте структуру таблицы Код (Text): $columns = R::inspect('project'); p($columns); Убедитесь, что структура таблицы соответствует ожиданиям. 3. Альтернативный способ получения всех записей Попробуйте использовать другой синтаксис: PHP: $posts = R::find('project', '1'); p($posts); Или: PHP: $posts = R::getAll('SELECT * FROM project'); p($posts); 4. Проверьте версию RedBeanPHP PHP: p(R::getVersion()); Убедитесь, что используете актуальную версию библиотеки. 5. Проверьте настройки подключения Убедитесь, что подключение к БД работает корректно и нет ограничений на выборку. 6. Проверьте, нет ли фильтрации в коде Возможно, где-то ранее в коде есть LIMIT 1 или другая фильтрация. Если проблема сохраняется: Попробуйте создать новую таблицу и добавить несколько тестовых записей: PHP: R::exec('CREATE TABLE IF NOT EXISTS test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255))'); R::exec('INSERT INTO test (name) VALUES ("Test 1"), ("Test 2"), ("Test 3")'); $test = R::findAll('test'); p($test); Проверьте логи ошибок PHP и базы данных. Обычно R::findAll() работает корректно, и если он возвращает только одну запись, скорее всего: В таблице действительно только одна запись Есть какое-то вмешательство в процесс выборки (хуки, трейты) Проблема с подключением к БД Попробуйте минимальный воспроизводимый пример в чистом окружении.