在ThinkPHP8中,连接数据库主要通过配置文件完成,而执行数据库查询则通常在模型(Model)或者控制器(Controller)中进行。下面我将分别给出数据库配置示例和一个简单的数据库查询示例。
1. 数据库配置
首先,确保你的 .env
文件或者 config/database.php
文件中包含了正确的数据库连接信息。这里以MySQL为例:
.env 文件示例:
DB_TYPE=mysql
DB_HOST=127.0.0.1
DB_NAME=mydatabase
DB_USER=root
DB_PWD=password
DB_PORT=3306
DB_PREFIX=tp_
或者直接在 config/database.php
中配置:
<?php
return [
// ...
'connections' => [
// 默认的数据库连接配置
'default' => [
'type' => env('DB_TYPE', 'mysql'),
'hostname' => env('DB_HOST', '127.0.0.1'),
'database' => env('DB_NAME', 'mydatabase'),
'username' => env('DB_USER', 'root'),
'password' => env('DB_PWD', 'password'),
'hostport' => env('DB_PORT', '3306'),
'prefix' => env('DB_PREFIX', 'tp_'),
// 其他配置项...
],
],
];
2. 查询示例
接下来,演示如何在控制器中执行一个简单的数据库查询。假设我们有一个 User
模型对应 users
表,我们要获取所有用户的数据。
User模型 (app\model\User.php
) 示例:
namespace app\model;
use think\Model;
class User extends Model
{
// 如果有表前缀或需要指定其他表名,可以在这里设置
protected $table = 'users';
}
控制器示例 (app\controller\UserController.php
) :
namespace app\controller;
use app\model\User;
use think\Request;
class UserController
{
public function index()
{
// 使用模型进行查询
$users = User::all();
// 将数据传递给视图
return view('', ['users' => $users]);
}
}
在这个例子中,User::all()
方法会查询 users
表中的所有记录。查询结果被传递给视图,展示给用户。