Codeigniter 4 - не загружается из базы данных - PullRequest
0 голосов
/ 09 февраля 2020

Изменить для решенной проблемы:

После долгих попыток и тщательного изучения каждой настройки Xampp apache и Sql я обнаружил очень подробно. вне ... что это не имеет никакого отношения к этому. Ничего вообще.

Проблема заключалась в том, что я поместил кусок кода (php функция) вне класса, в котором он должен был использоваться ... так что, разумеется, он никогда бы не сработал .

Вид момента Гомера Симпсона.

Оригинальный момент Гомера Симпсона:

У меня возникла следующая проблема:

После Настройка CI4 локально (с Xampp) Я застрял в следующей части учебника . После перехода на localhost: 8080 / news Я не вижу ленту новостей со статьями. Вместо этого я получаю сообщение об ошибке, в котором говорится, что новостей нет, и «невозможно найти какие-либо новости».

Я немного растерялся. Я проверил информацию базы данных, и насколько я знаю, это правильно. Я просто добавил имя БД, пользователя, пароль и т. Д. c. До этого все шло хорошо. Это информация для моей базы данных

public $defaultGroup = 'default';

/**
 * The default database connection.
 *
 * @var array
 */
public $default = [
    'DSN'      => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => 'my-db-password',
    'database' => 'my-db-name',
    'DBDriver' => 'mysqli',
    'DBPrefix' => '',
    'pConnect' => true,
    'DBDebug'  => (ENVIRONMENT !== 'development'),
    'cacheOn'  => false,
    'cacheDir' => '',
    'charset'  => 'utf8',
    'DBCollat' => 'utf8_general_ci',
    'swapPre'  => '',
    'encrypt'  => false,
    'compress' => false,
    'strictOn' => false,
    'failover' => [],
    'port'     => 3306,
];

Я проверил код из учебника, все было исправлено. Пути и c также в порядке.

Может ли кто-нибудь пролить свет на то, где я должен искать проблему или на чем мне следует сосредоточиться? Это из-за плохих настроек apache mysql?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020

Я надеюсь, что вы пытаетесь извлечь данные из базы данных на codeigniter 4. Используйте это для извлечения данных из любого места в codeigniter 4.

$news = db_connect()->table('news')->get()->getResult();

// This should happen within you view
foreach ($news as $article) {

} 

Затем, если вы расширяете свою модель до модели по умолчанию используйте это:

<?php namespace App\Models;

use CodeIgniter\Model;

class NewsModel extends Model
{
        protected $table      = 'news';
        protected $primaryKey = 'id';

        protected $returnType = 'array';
        protected $useSoftDeletes = true;

        protected $allowedFields = ['name', 'email'];

        protected $useTimestamps = false;
        protected $createdField  = 'created_at';
        protected $updatedField  = 'updated_at';
        protected $deletedField  = 'deleted_at';

        protected $validationRules    = [];
        protected $validationMessages = [];
        protected $skipValidation     = false;
}

В вашем контроллере используйте:


$news = $newsModel->findAll();

Этот запрос может быть изменен путем добавления команд Query Builder по мере необходимости до вызова этого метода:

    $users = $newsModel->where('active', 1)->findAll();

Если это не помогло, обрати внимание. Я здесь, чтобы помочь вам получить этот набор

0 голосов
/ 09 февраля 2020

Это не ошибка базы данных. Похоже, что часть работает просто отлично. Я подозреваю, что проблема в том, что в таблице news еще нет данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...