thinkphp模型递归查询

这篇具有很好参考价值的文章主要介绍了thinkphp模型递归查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果图:

thinkphp模型递归查询,php文章来源地址https://www.toymoban.com/news/detail-597829.html

查询代码:

use app\model\Menu;

function getMenuList(string $uid)
{
    $list = Menu::where('pid', $uid)->select();
    foreach ($list as $val) {
        $val['children'] = getMenuList($val->uid);
    }
    return $list;
}

function getMenuBelong(string $uid)
{
    $has = [];
    $list = Menu::where('pid', $uid)->select();
    foreach ($list as $val) {
        $has[] = $val->id;
        $next = getMenuBelong($val->uid);
        $has = array_merge($has, $next);
    }
    return $has;
}

模型

<?php

namespace app\model;

use think\Model;

class Menu extends Model
{
    // 设置字段信息
    protected $schema = [
        'id' => 'int',
        'menu_title' => 'string',
        'menu_type' => 'int',
        'cate_uid' => 'string',
        'use_cate_uid' => 'int',
        'open_tag' => 'int',
        'uid' => 'string',
        'pid' => 'string',
        'order_sort' => 'int',
        'create_time' => 'int',
    ];
    protected $autoWriteTimestamp = 'create_time';
}

到了这里,关于thinkphp模型递归查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 原生PHP及thinkphp6接入阿里云短信

    申请accesskey 获取到Accesskey ID和Accesskey Secret保存下来,一会要用到 添加测试手机号,在接口测试能否正常发送 下载阿里云短信sdk,使用composer下载,没有安装请先安装 安装可以安装到任意文件夹下,后面代码写好后,直接复制到tp项目内就行,最新版本安装可能composer查找不

    2024年02月05日
    浏览(50)
  • PHP客服系统聊天页面-thinkphp加载页面源码解释

    PHP workerman客服系统加载聊天页面的代码逻辑流程,可以进行参考。如果想要二开修改的,可以根据这个流程来修改。 thinkphp的router部分 查看控制器加载页面逻辑 application/index/controller/Index.php public function chat 函数里php处理部分 页面路径为:application/index/view/index/cli_box.html

    2024年02月14日
    浏览(45)
  • PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】

    强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知! PHP无类 PHP类写法 ThinkPHP框架 其它框架 *5.0 环境 PHP版本 mysql版本

    2024年02月15日
    浏览(47)
  • ThinkPHP为什么用PHP+Swoole协程模式部署运行

    看很多ThinkPHP框架的程序商城等系统,现在都用PHP+Swoole协程来运行。在说Swoole前我们先了解下传统PHP模式。 互联网发展早期,大部分项目的业务逻辑并没有那么复杂,技术生态相对比较简单,也没有 Composer 这样的包管理系统,程序代码足够简单。大部分 PHP 项目没有框架,或

    2024年01月17日
    浏览(52)
  • thinkphp:数据库查询,嵌套别的表的查询(别的表做子查询)

    从  vendors  表中选择记录。 在  vendors  表中,筛选出具有满足以下条件的  vendor_code  值: 对应的采购订单(在  po_headers_all  表中)存在未完全接收的采购行(在  po_lines_all  表中)。 相应的采购订单状态为 \\\"已签核\\\"。 采购行的数量大于已接收数量。 查询结果按照  v

    2024年02月10日
    浏览(38)
  • thinkphp学习08-数据库的链式查询

    前面课程中我们通过指向符号“-”多次连续调用方法称为:链式查询,当 Db::name(‘user’)时,返回查询对象(Query),即可连缀数据库对应的方法,而每次执行一个数据库查询方法时,比如 where(),还将返回查询对象(Query),只要还是数据库对象,那么就可以一直使用指向符号进

    2024年01月21日
    浏览(38)
  • [php-cos]ThinkPHP项目集成腾讯云储存对象COS

    Cos技术文档 1、安装phpSdk 通过composer的方式安装。 1.1 在composer.json中添加 qcloud/cos-sdk-v5: =2.0 将composer.lock删除,然后运行composer install 就安装成功了。 查看vendor中的是否存在qcloudcos-sdk-v5,安装包中有使用的例子:sample文件夹中。 2、添加配置文件 3、编写cos工具类 测试: pos

    2024年02月15日
    浏览(58)
  • 知识笔记(九十)———ThinkPHP5中时间查询的方法

    使用 where 方法 where 方法支持时间比较,例如: 第三个参数可以传入任何有效的时间表达式,会自动识别你的时间字段类型,支持的时间类型包括 timestamps 、 datetime 、 date 和 int 。 使用 whereTime 方法 whereTime 方法提供了日期和时间字段的快捷查询,示例如下: 还提供了更方便

    2024年01月21日
    浏览(55)
  • 使用Docker Dockerfile构建php LNMP集成开发环境,并运行Thinkphp5

    系统:MAC、Windows10 Docker版本:Docker version 23.0.5 Docker Desktop:Dockerdesktop官方地址 这篇主要介绍如何在Mac、Windows10使用docker搭建LNMP集成开发环境。下面我会写Dockerfile编译安装Nginx+php基础环境。mysql、redis基于官方Docker hub,分别构建我们自己的镜像。  code目录存放工程代码,会映

    2024年02月15日
    浏览(58)
  • ThinkPHP8知识详解:给PHP8和MySQL8添加到环境变量

    在PHPenv安装的时候,环境变量默认的PHP版本是7.4的,MySQL的版本是5.7的,要想使用ThinkPHP8来开发,就必须修改环境变量,本文就详细讲解了如果修改PHP和MySQL的环境变量。 1、添加网站 启动phpenv,网站,添加网站,域名,根目录,端口,PHP版本都设置好,如图: 打开的网站,

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包