Не показывать данные из кодового конструктора базы данных 4

#php #codeigniter #codeigniter-4

#php #кодовое устройство #кодовый конструктор-4

Вопрос:

Таблица базы данных «tb_bills» заполнена, но таблица не возвращает никаких данных. И ошибка также отображается. В чем может быть проблема? что я упускаю? Пожалуйста, проверьте приведенный ниже код вида, модели и контроллера.

Представление таблицы.

 lt;tbodygt;  lt;?php if(!empty($tb_bills)): ?gt; lt;?php foreach($tb_bills as $bill): ?gt;   lt;trgt;  lt;tdgt;lt;?php echo $bill['bill_No'];?gt;lt;/tdgt;  lt;tdgt;lt;?php echo $bill['bill_Title'];?gt;lt;/tdgt;  lt;tdgt;lt;?php echo $bill['bill_Type'];?gt;lt;/tdgt;  lt;tdgt;lt;?php echo $bill['committee'];?gt;lt;/tdgt;  lt;tdgt;lt;?php echo $bill['bill_sponsor'];?gt;lt;/tdgt;  lt;tdgt;lt;/tdgt;  lt;/trgt;  lt;?php endforeach; ?gt; lt;?php endif; ?gt;  lt;/tbodygt;  

Модель

 class RegisterModel extends Model{   protected $table = 'tb_bills';   protected $primaryKey = 'bill_Id';    protected $allowedFields = [  'bill_No',  'bill_Title',  'bill_Type',  'bill_Object',  'in_Capacity',  'bill_Sponsor',  'parliament',  'no_Clauses',  'session',  'committee',  'bill_Document',  'added_DateTime',  'updated_DateTime'  ];  }  

Контроллер

класс RegisterController расширяет контроллер {

 public function index(){  $registerModal = new RegisterModal();  $data['bills'] = $registerModal-gt;orderBy('id', 'DESC')-gt;findAll();  return view('register-bill', $data);   }  

}

Ответ №1:

Вы могли бы попробовать

 lt;?php foreach($bills as $bill): ?gt;  

по вашему мнению

Комментарии:

1. Это тоже похоже на ответ для меня, он экспортирует «счета» в представление.

2. Ну, это все равно не сработает.

3. @avrazor Это показало ошибку, верно? Я хотел бы знать, что именно там было написано. Что касается контроллера, $data[‘bills’] = $registerModal-gt;OrderBy(‘id’, ‘DESC’)-gt;gt;findAll(); Я думаю, вам следует изменить его на $data[‘bills’] = $registerModal-gt;gt;gt;OrderBy(‘bill_id’, ‘DESC’)-gt;gt;gt;gt;findAll();

4. @Hesse, он показывает только заголовки таблиц без данных. Я прокомментировал lt;?php //if(!пустой($купюры)): ?gt; и это дало мне ошибку: Неверный аргумент, предоставленный для foreach()

Ответ №2:

попробуйте вставить функцию в свою модель

 public function getUsers() {  return $this-gt;findAll(); }  

а затем попробуйте это для вашего контроллера

 $registerModal = new RegisterModal(); $data['bills'] = $registerModal-gt;getUsers();