thinkphp6 控制器执行sql
时间: 2023-05-28 18:07:16 浏览: 667
在 ThinkPHP6 中,可以使用模型来执行 SQL 查询,也可以在控制器中使用原生 SQL 语句来执行查询。
使用模型执行 SQL 查询
在控制器中,可以使用模型来执行 SQL 查询,例如:
```php
use app\model\User;
class UserController extends Controller
{
public function index()
{
$user = User::where('status', 1)->order('id', 'desc')->select();
return $this->fetch('index', ['user' => $user]);
}
}
```
在上面的例子中,我们使用模型 `User` 来执行 SQL 查询,查询所有状态为 1 的用户,并按照 id 降序排列。
使用原生 SQL 语句执行查询
在控制器中,也可以使用原生 SQL 语句来执行查询,例如:
```php
use think\facade\Db;
class UserController extends Controller
{
public function index()
{
$user = Db::query('SELECT * FROM user WHERE status = ?', [1]);
return $this->fetch('index', ['user' => $user]);
}
}
```
在上面的例子中,我们使用 `Db` 类来执行原生 SQL 查询,查询所有状态为 1 的用户。
需要注意的是,使用原生 SQL 语句虽然灵活,但也存在 SQL 注入的风险,因此应该谨慎使用,并且遵循安全编码的规范。