#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();