📅  最后修改于: 2023-12-03 15:12:21.902000             🧑  作者: Mango
CodeIgniter 4 是一个快速而简单的 PHP 框架,提供了强大的数据库操作功能。其中,选择查询是最基本的查询方式。
在进行数据库操作之前,首先需要连接数据库。在 CodeIgniter 4 中,可以在配置文件 app/Config/Database.php
中设置数据库连接。
// app/Config/Database.php
$default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'myusername',
'password' => 'mypassword',
'database' => 'mydatabase',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => (ENVIRONMENT !== 'production'),
'cacheOn' => false,
'cacheDir' => '',
'charset' => 'utf8',
'DBCollat' => 'utf8_general_ci',
'swapPre' => '',
'encrypt' => false,
'compress' => false,
'strictOn' => false,
'failover' => [],
'port' => 3306,
];
如果有多个数据库,可以设置多个连接选项。
选择查询是数据库操作中最常用的查询方式。下面是一个简单的例子,查询 users
表中的所有记录:
// app/Models/UsersModel.php
namespace App\Models;
use CodeIgniter\Model;
class UsersModel extends Model
{
protected $table = 'users';
public function getAllUsers()
{
return $this->findAll();
}
}
上面的代码中,UsersModel
继承了 CodeIgniter 4 中的 Model
类,使用 $this->findAll()
方法查询 users
表中的所有记录。如果需要指定查询的字段,可以使用 $this->select()
方法。
// app/Models/UsersModel.php
namespace App\Models;
use CodeIgniter\Model;
class UsersModel extends Model
{
protected $table = 'users';
public function getAllUsers()
{
return $this->select('id, name')->findAll();
}
}
上面的代码指定查询 users
表中的 id
和 name
两个字段。
如果需要限制查询结果的数量,可以使用 $this->limit()
方法。
// app/Models/UsersModel.php
namespace App\Models;
use CodeIgniter\Model;
class UsersModel extends Model
{
protected $table = 'users';
public function getFirstUser()
{
return $this->select('id, name')->limit(1)->findAll();
}
}
上面的代码只查询 users
表中的第一个记录。
如果需要按照某个字段进行排序,可以使用 $this->orderBy()
方法。
// app/Models/UsersModel.php
namespace App\Models;
use CodeIgniter\Model;
class UsersModel extends Model
{
protected $table = 'users';
public function getAllUsersOrdered()
{
return $this->orderBy('name')->findAll();
}
}
上面的代码按照 name
字段对 users
表的记录进行排序。
选择查询是数据库操作中最常用的查询方式。CodeIgniter 4 提供了丰富的方法,支持灵活的查询。开发者可以根据实际需求选择合适的查询方式。