• fastadmin框架调用model层的方法


    当使用FastAdmin框架进行Web应用程序开发时,经常需要与数据库交互以执行各种操作,如获取、创建、更新和删除数据。为了实现这些操作,FastAdmin采用了Model-View-Controller(MVC)模式,其中Model层负责处理数据库操作。在本篇博客中,我们将探讨如何在FastAdmin中调用Model层的方法,以实现数据操作。

    什么是FastAdmin框架?

    FastAdmin是一个基于ThinkPHP5和Bootstrap的后台管理系统框架,它提供了丰富的功能和组件,用于快速构建强大的后台管理系统。FastAdmin旨在帮助开发者高效地创建后台管理界面,并提供了强大的数据库操作能力,其中Model层发挥了关键作用。

    在application文件中创建板块ceshi

    我这边创建板块名:ceshi   控制器:Ceshi  模型:Ceshi    一般情况下控制器要和模型在一个板块中,这边建议大家一我这种方式创建,当然有更好的方法也可以

    创建Model层

    首先,让我们来创建一个Model,以便在FastAdmin中执行数据库操作。以下是一个示例Model,用于操作用户数据表:

    1. namespace app\ceshi\model;
    2. use think\Model;
    3. class Ceshi extends Model
    4. {
    5. // 定义数据表名,默认情况下会自动根据类名生成
    6. protected $name = 'Ceshi';
    7. // 查询用户信息
    8. public function getUserInfo($userId)
    9. {
    10. return $this->where('id', $userId)->find();
    11. }
    12. // 创建用户
    13. public function createUser($data)
    14. {
    15. return $this->save($data);
    16. }
    17. // 更新用户信息
    18. public function updateUser($userId, $data)
    19. {
    20. return $this->where('id', $userId)->update($data);
    21. }
    22. // 删除用户
    23. public function deleteUser($userId)
    24. {
    25. return $this->where('id', $userId)->delete();
    26. }
    27. }

    在上述示例中,我们创建了一个Ceshi模型,它包含了一些常见的数据库操作方法,如查询用户信息、创建用户、更新用户信息和删除用户。

    调用Model层方法

    一旦我们创建了Model,就可以在控制器中调用它的方法来执行数据库操作。以下是一个示例控制器,演示如何调用Ceshi模型中的方法:

    1. namespace app\ceshi\controller;
    2. use app\ceshi\model\Ceshi as User; // 引入Ceshi模型 别名 User
    3. //这里要注意下控制器和模型的名字不能重复,如果重复的话加上as别名,否则可以不加
    4. class UserController
    5. {
    6. // 获取用户信息
    7. public function getUser($userId)
    8. {
    9. $userModel = new User(); // 创建User模型实例
    10. $userInfo = $userModel->getUserInfo($userId); // 调用getUserInfo方法
    11. return json(['status' => 'success', 'data' => $userInfo]);
    12. }
    13. // 创建用户
    14. public function createUser()
    15. {
    16. $postData = input('post.'); // 获取POST数据
    17. $userModel = new User(); // 创建User模型实例
    18. $result = $userModel->createUser($postData); // 调用createUser方法
    19. if ($result) {
    20. return json(['status' => 'success', 'message' => '用户创建成功']);
    21. } else {
    22. return json(['status' => 'error', 'message' => '用户创建失败']);
    23. }
    24. }
    25. // 更新用户信息
    26. public function updateUser($userId)
    27. {
    28. $postData = input('post.'); // 获取POST数据
    29. $userModel = new User(); // 创建User模型实例
    30. $result = $userModel->updateUser($userId, $postData); // 调用updateUser方法
    31. if ($result) {
    32. return json(['status' => 'success', 'message' => '用户信息更新成功']);
    33. } else {
    34. return json(['status' => 'error', 'message' => '用户信息更新失败']);
    35. }
    36. }
    37. // 删除用户
    38. public function deleteUser($userId)
    39. {
    40. $userModel = new User(); // 创建User模型实例
    41. $result = $userModel->deleteUser($userId); // 调用deleteUser方法
    42. if ($result) {
    43. return json(['status' => 'success', 'message' => '用户删除成功']);
    44. } else {
    45. return json(['status' => 'error', 'message' => '用户删除失败']);
    46. }
    47. }
    48. }

    在上述示例中,我们创建了一个Ceshi控制器,该控制器包含了四个方法,分别用于获取用户信息、创建用户、更新用户信息和删除用户。在每个方法中,我们首先实例化了Ceshi模型,然后调用了模型中定义的方法来执行相应的数据库操作。

    那么到这里相信大家会有一个疑问,那些代码的逻辑该在哪里写呢,以下代码告诉你:

    首先是控制器:

    1. namespace app\ceshi\controller;
    2. use app\ceshi\model\Ceshi as Ceshis;
    3. use app\common\controller\Api;
    4. use tink\Db;
    5. /**
    6. * 首页接口
    7. */
    8. class Ceshi extends Api
    9. {
    10. protected $noNeedLogin = '*';
    11. protected $noNeedRight = '*';
    12. public function query()
    13. {
    14. //控制器这边呢是可以接收参数的,我们把接收参数的变量传给getUserInfo()方法里
    15. //这个getUserInfo()是model中的一个方法
    16. $arr = [];
    17. if(input('type_store'))$arr['type_store'] = input('type_store');
    18. $userModel = new Ceshis();
    19. $userInfo = $userModel->getUserInfo($arr);
    20. return json(['status' => 'success', 'data' => $userInfo]);
    21. }
    22. }

    其次模型:

    1. namespace app\ceshi\model;
    2. use tink\Db;
    3. use think\Model;
    4. class Ceshi extends Model
    5. {
    6. // 定义表名,默认情况下会自动根据类名生成
    7. // protected $name = 'information';
    8. // 查询用户信息
    9. public function getUserInfo($arr)
    10. {
    11. //我们可以在这写一些逻辑代码 比如:if($arr['type_store'] == 1)return 1;
    12. $result = db('information')->where($arr)->select();
    13. return $result;
    14. }
    15. }

    总结:

    当使用FastAdmin框架进行Web应用程序开发时,通过Model层的方法执行数据库操作是非常常见的任务。下面是关于如何在FastAdmin中调用Model层方法的总结:

    1. 创建Model层

      • 创建一个Model来定义数据库表格的结构和操作。
      • 通常将模型存放在application/板块名/model目录下。
    2. 定义Model方法

      • 在Model中定义方法来处理数据库操作,如查询、创建、更新和删除数据。
    3. 调用Model方法

      • 在控制器中实例化Model,并调用其中定义的方法来执行数据库操作。
      • 根据需要,将模型方法的结果返回给客户端。
    4. 测试API

      • 使用HTTP请求工具如cURL、Postman,或编写代码来测试API接口。
      • 确保控制器中调用Model层方法的正确性和数据库操作的有效性。
      • 测试接口直接请求控制器的方法就行了

    通过以上步骤,你可以利用FastAdmin框架快速构建强大的后台管理系统,并实现各种数据库操作,从而满足你的应用程序需求。这种结构化的开发方式有助于提高代码的可维护性和可扩展性,使开发变得更加高效。

  • 相关阅读:
    shiro-第二篇-整合springboot
    十一、动态规划题目相关
    设计模式-装饰器模式
    ChatGPT HTML JS Echarts实现热力图展示
    用户体验成为继MAU后,手机银行竞争分化的下一分水岭,易观千帆重磅发布手机银行APP用户体验GX评测
    17. 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据
    【mysql篇-进阶篇】索引
    qt实现自定义菜单
    中科院提出“思维传播”,极大增强ChatGPT等模型复杂推理能力
    面试10.13
  • 原文地址:https://blog.csdn.net/m0_72603435/article/details/132848376