Я работаю над codeigniter4. Сейчас я пытаюсь получить все записи из базы данных, но не могу найти запись (получаю сообщение «Кажется, мы попали в затруднительное положение. Повторите попытку позже...) Вот мой код файла контроллера, где я ошибаюсь?
public function getusers1(){
$userModel = new UserModel();
$data['result'] = $userModel->getusers_data();
echo "<pre>";print_R($data['result']);
}
Вот мой код файла модели
public function getusers_data()
{
$query = "SELECT * FROM registration";
$query2=$this->db->query($query);
return $data=$query2->result_array();
}
Что такое $this->db? Документы CI4 показывают, что вам нужно db_connect(), вы сделали это? Что касается результатов, result_array() не отображается в документах CI4 . Похоже, вы, возможно, хотите getResult('array')? Но это набор результатов, поэтому вам также нужно будет перебрать его. Документы показывают примеры. Если это ваша машина для разработки, вы, вероятно, захотите сменить среду на разработку, чтобы видеть ошибки. stackoverflow.com/q/57852169/6089612






Вы используете функцию Codeigniter 3 result_array, поэтому попробуйте следующее:
public function getusers_data(){
return $this->db->table('registration')->get()->getResultArray();
}
Я использую следующее, чтобы вернуть все строки данных для таблицы пользователей:
Убедитесь, что вы используете правильную модель в верхней части контроллера над именем класса:
use App\Models\UserModel;
вот функция:
public function getAll() {
$users = (new UserModel)->findAll();
// this will return the data to the screen
echo '<pre>';print_r($users);echo '</pre>';die;
}
public function getOne($id) {
$user = (new UserModel)->where('id', $id)->first();
// this will return the data to the screen
echo '<pre>';print_r($user);echo '</pre>';die;
}
Это Модель:
namespace App\Models;
use App\Models\BaseModel;
class UserModel extends BaseModel
{
protected $table = 'users';
protected $primaryKey = 'id';
protected $returnType = 'object';
protected $allowedFields = ['name', 'email', 'password', 'phone', 'address', 'last_login', 'role', 'reset_token', 'status', 'img_type'];
}
получение сообщения "Кажется, мы попали в затруднительное положение. Пожалуйста, повторите попытку позже..." - Это специальное сообщение или стандартное сообщение CI об ошибке? В любом случае, это не дает нам многого для продолжения. Вы проверили журнал ошибок на наличие реальных сообщений об ошибках? выполнили любую другую отладку, чтобы прокомментировать вещи и включить их один за другим, чтобы увидеть, какой именно вызов не работает?Определено ли
$this->dbв вашей модели?