📌  相关文章
📜  codeigniter 4 查询生成器选择 - PHP (1)

📅  最后修改于: 2023-12-03 15:14:11.512000             🧑  作者: Mango

CodeIgniter 4 查询生成器选择 - PHP

在CodeIgniter 4中,查询生成器是与数据库交互的一种方式。它允许程序员使用PHP代码生成SQL查询,而无需手工编写SQL语句。

选择查询生成器

CodeIgniter 4中有两种类型的查询生成器可供选择:基本查询生成器和实体查询生成器。

基本查询生成器

基本查询生成器提供了一组灵活且易于使用的方法,可以让您生成查询并执行它们。使用它,您可以轻松地构建出复杂的查询语句,而不必亲自去写SQL语句。

以下是一个基本的示例,通过查询生成器选择所有用户的名称和电子邮件:

<?php
$db = \Config\Database::connect();

$builder = $db->table('users');
$builder->select('name, email');
$query = $builder->get();

foreach ($query->getResult() as $row)
{
    echo $row->name;
}

在上面的代码中,我们首先使用\Config\Database::connect()连接到数据库,然后使用$db->table('users')创建了一个查询构建器对象。接下来,我们使用select()方法选择需要查询的列,最后通过get()方法获取查询结果。

实体查询生成器

实体查询生成器是一个更高级的查询生成器,在构建查询时提供更多的强类型支持。使用它,您可以轻松地将查询转换为对象,这些对象可以方便地在代码中使用。

以下是一个实体查询生成器的示例,通过实体查询生成器选择所有用户的名称和电子邮件:

<?php
namespace App\Models;

use CodeIgniter\Model;

class UserModel extends Model
{
    protected $table = 'users';
    protected $allowedFields = ['name', 'email'];
}

$userModel = new UserModel();

foreach ($userModel->findAll() as $user)
{
    echo $user->name;
}

在上面的代码中,我们首先创建了一个名为UserModel的模型。在模型中,我们指定了users表,以及允许查询的字段。

在实例化UserModel类之后,我们使用findAll()方法来获取我们的查询结果。查询结果将返回一个数组,其中的元素为UserModel对象。

总结

CodeIgniter 4查询生成器是一个方便且易于使用的工具,可以让程序员轻松地生成并执行SQL查询。基本查询生成器适用于简单的查询,而实体查询生成器提供了更多的高级功能,帮助程序员编写复杂的查询语句。