Эффективные способы выполнения выбранных запросов в CodeIgniter 4 (CI4)

  1. Использование построителя запросов.
    CodeIgniter 4 предоставляет класс построителя запросов, который предлагает удобный и безопасный способ создания и выполнения выбранных запросов. Вот пример:
$query = $this->db->table('users');
$query->select('name, email');
$query->where('status', 'active');
$results = $query->get()->getResult();
  1. Написание необработанных SQL-запросов.
    Если вы предпочитаете писать необработанные SQL-запросы, CI4 позволяет вам это сделать. Вот пример:
$sql = "SELECT name, email FROM users WHERE status = 'active'";
$results = $this->db->query($sql)->getResult();
  1. Использование классов моделей.
    CI4 поощряет использование классов моделей для взаимодействия с базой данных. Вы можете определить модель для своей таблицы и выполнять через нее запросы выбора. Вот пример:
namespace App\Models;
use CodeIgniter\Model;
class UserModel extends Model {
    protected $table = 'users';
    protected $allowedFields = ['name', 'email'];
    public function getActiveUsers() {
        return $this->where('status', 'active')->findAll();
    }
}
$userModel = new \App\Models\UserModel();
$results = $userModel->getActiveUsers();
  1. Разбиение на страницы с помощью выборочных запросов.
    При работе с большими наборами данных часто необходимо реализовать разбиение на страницы. CI4 обеспечивает встроенную поддержку нумерации страниц. Вот пример:
$model = new \App\Models\UserModel();
$perPage = 10;
$currentPage = $this->request->getVar('page') ?? 1;
$results = $model->paginate($perPage);

В этой статье мы рассмотрели различные методы выполнения запросов выборки в CodeIgniter 4 (CI4). Мы обсудили использование Query Builder, написание необработанных SQL-запросов, использование классов моделей и реализацию нумерации страниц. В зависимости от ваших предпочтений и требований проекта вы можете выбрать наиболее подходящий метод для эффективного извлечения данных из базы данных.