回调函数中的变量出现 PHP 错误 [重复]

2023-12-05

我在 php (laravel) 中有这个函数:

    public static function isUserParticipatesInTournament($tourId, $userId)
    {
        var_dump($userId); //dumped
        $user = User::find($userId);

        if(!$user)
        {
            return null;
        }

        $obj = $user->whereHas('tournaments', function($query)
        {
            var_dump($tourId); //error
            $query->where('id', '=', $tourId); //error
        })->get();

        return $obj;
    }

问题是在闭包中$obj = $user->whereHas('tournaments', function($query){...} the $tourId其中变量未定义。我收到此错误:Undefined variable: userId.

为什么会发生这种情况?该变量是在内部函数的范围内声明的。我唯一的想法是,它是一个回调函数。

当我尝试执行这个函数时:$obj = $user->whereHas('tournaments', function($query, $tourId){...}然后我得到这个异常:

Missing argument 2 for User::{closure}()

Your $tourId变量不在匿名函数的范围内。看看use关键字以了解如何将其添加到范围中。请参阅本页的示例 3:http://www.php.net//manual/en/functions.anonymous.php

它应该类似于以下内容:

$obj = $user->whereHas('tournaments', function($query) use($tourId)
    {
        var_dump($tourId); // Dumps OK
    })->get();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

回调函数中的变量出现 PHP 错误 [重复] 的相关文章

  • 在php中获取二进制数据大小的正确方法是什么?

    我已阅读文件的一部分 现在想确保该部分的大小正确 我怎样才能在 php 中做到这一点 part fread file 1024 return some function part 1024 我已经阅读了这些示例 但我怀疑是否要使用 strl
  • PHP 有效读取 csv 文件

    有几种使用 PHP 读取 CSV 文件的方法 我以前用过explode函数将每一行放入一个数组中 然后explode逗号并使用trim删除数据周围的任何引号 本来就很乱 PHP 5 现在有fgetcsv和 str getcsv 我猜这是这些
  • 返回变量在 PHP 中不起作用(即没有返回值!)

    我更喜欢使用 Python 语言进行编程 但必须使用 PHP 来处理特定的网站应用程序项目 在 PHP 中 我试图将函数中的值 返回 到主程序环境 用于后续计算 但无论我尝试什么 函数中计算的值都不会返回该值 而是从函数中回显 工作正常 在
  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • symfony 2 形式的函数 getName 做什么

    这是我的表格类 class CommentType extends AbstractType public function buildForm FormBuilder builder array options builder gt ad
  • 为什么我应该使用 $_GET 和 $_POST 而不是 $_REQUEST? [复制]

    这个问题在这里已经有答案了 除此之外 REQUEST从 cookie 读取 有什么理由我应该使用 GET and POST代替 REQUEST 这样做的理论和实践理由是什么 当我只想让用户的某些数据返回某些数据时 我使用 REQUEST 当
  • 这些加密算法有什么区别?

    两者有什么区别MCRYPT RIJNDAEL 128 MCRYPT RIJNDAEL 256 MCRYPT BLOWFISH等等 哪一种最适合网络数据传输 Rijandel 是 AES 的另一个名称 AES 是当前的 一个好的标准 算法 数
  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • 从提交的表单中转义字符串中的字符

    每次发布帖子时 我都会得到转义字符 gt gt gt 我有一个多步骤表单 它将数据从一种表单传输到另一种表单 我将这些值与准备好的语句一起保存在数据库中 数据库中的值当前看起来像Paul s House 用户应该可以在字符串中使用单引号和双
  • 使用 PDO 在 SQLite 中检索单个(且唯一)行的最简单方法

    我有这个 PDO stmt db gt prepare SELECT FROM channels WHERE id id stmt gt bindValue id id SQLITE3 INTEGER result stmt gt exec
  • 使用 DOM 获取 div 的内容(包括子标签)

    我正在使用 DOM 来获取 div 标签的内容 但内部 html 部分未显示 功能是 dom new DOMDocument libxml use internal errors true dom gt loadHTMLFile url l
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • ZF2 工厂获取参数

    我有一个动态类别导航 在导航工厂中 我想从路线获取参数 我怎样才能做到这一点 在我看来 在我的 module php 中 public function getServiceConfig return array factories gt
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • WordPress 事件按元生效日期排序

    我在获取参数数组以按 Wordpress 中的日期对事件列表进行排序时遇到一些问题 我在 Stack Overflow 和其他地方找到了几个建议的解决方案 但经过大量的试验和错误后 这些解决方案似乎都不起作用 这没什么花哨的 而且应该比这容
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml
  • sqlsrv_num_rows 不返回任何值

    我正在尝试获取查询中返回的行数 while 循环遍历结果有效 但由于某种原因 sqlsrv num rows 不返回任何值 result SELECT from dtable WHERE id2 apple query sqlsrv que
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • Laravel 5 注销特定用户

    在我的 laravel 5 应用程序中 有一个功能允许具有管理员角色的用户重置非管理员的任何人的密码 但这不会强制该人注销并再次登录 更改密码后如何强制用户注销 我没有对用于验证用户身份或任何内容的中间件进行任何更改 我不知道它是否有效 但

随机推荐

  • 角度 $interval 在超过“count”参数后是否会自行取消?

    关于 Angular 中的 interval 服务的快速问题 查看文档 间隔 它们警告您手动取消间隔 但您可以选择在初始化时提供计数参数 一旦计时器 滴答作响 超过了分配的计数 它会自行取消还是只是停止调用该函数并在后台继续运行 TL 博士
  • 带有深思熟虑的冠层的 scipy

    我正在评估 Enthought 包 我安装了32位canopy 从下载https www enthought com downloads 在Ubuntu中 sudo bash canopy 1 0 1 rh5 32 sh 经过测试我没有看到
  • Symfony 在预持久上将数据添加到对象

    我有一个用于创建文档的表格 一方面 我可以添加名称和描述 在旁边我可以选择一个或多个机构创建的文档属于谁 每个机构被分配一个specific市场 一共有7个市场 所以一个市场可以有多个代理机构 但一个代理机构只能属于一个市场 我想要实现的是
  • 如何使用c++运行批处理文件?

    如何使用c 运行批处理文件 我对此一无所知 请参阅 system 函数 http www cplusplus com reference clibrary cstdlib system
  • 将函数保留在头文件中还是源文件中更好

    是将函数保留在头文件中并将它们包含到主源文件中更好 还是将函数保留在源文件中并将它们链接到主源文件中更好 一些库将函数保存在单独的源文件中 这些源文件在特殊的头文件中声明 当您将该头文件包含在主源文件中时 您就链接了所有这些函数 但是 它为
  • ActionBarSherlock 不支持浅色主题警报对话框?

    正如标题所说 我正在使用 actionBarSherlock 库和浅色主题 有时我需要使用alertDialog Builder 类显示一个对话框 问题是 无论我尝试什么 主题都不适用于对话框本身 该主题应该适用于新 API 和旧 API
  • 如何在 Ubuntu 14.04 x64 上安装 Theano 并配置它以使用 GPU?

    我尝试按照以下说明进行操作在当前 Ubuntu 上轻松安装优化的 Theano但它不起作用 每当我使用 GPU 运行 Theano 脚本时 它都会给我错误消息 CUDA已安装 但设备gpu不可用 错误 无法获取可用gpu的数量 未检测到支持
  • 干净的 C++ 粒度朋友等效吗? (答案:律师-委托人习语)

    为什么C 有public任何人都可以呼叫的成员以及friend暴露的声明all private会员到given外部类或方法 但不提供向给定调用者公开特定成员的语法 我想用一些例程来表达接口 这些例程只能由已知的调用者调用 而不必授予这些调用
  • Facebook 应用“通过 {APP_NAME}”重定向到现有页面

    我在 Facebook 上创建了一个应用程序 多亏了这个应用程序 用户可以在他们的墙上发布 一切正常 但我想指定一个当用户点击出版物上的 通过 APP NAME 链接时重定向到的网址 目前 它正在重定向到https www facebook
  • 如何在java中发出curl请求

    这是我的卷曲请求 curl X POST header Content Type application x www form urlencoded header Accept application json header apikey
  • C# 播放多个wav文件

    我有一个应用程序 当按下或单击某个键或按钮时 我需要播放 wav 文件 我使用 SoundPlayer 类 但是当我尝试同时播放另一个 wav 文件时 正在播放的文件会停止 有没有办法同时播放多个wav文件 如果是这样 您能给我示例或教程吗
  • pg-promise 将整数作为字符串返回

    我对包含类型列的表进行了这个简单的查询bigint 然而当我查询它时 pg 承诺以字符串形式返回该列的值 我在文档中找不到相关信息 这是标准行为吗 var ids 180 120 db any SELECT id brand brand f
  • 什么是 WinTypes、WinProcs 和 SW_NORMAL?

    在下面的程序中 哪里是WinTypes WinProcs目的是什么SW NORMAL program ex uses Wincrt WinTypes WinProcs var ch string procedure exe che stri
  • HttpModule 更改响应

    调用 Web 服务时 我需要在调用某些操作时更改响应文本 因此我创建了 HttpModule 来捕获响应并更改它 代码如下 public class BeginEnd IHttpModule public void Init HttpApp
  • 片段开始两次

    我有这个应用程序 其中使用片段 但不知何故 每次启动应用程序时 每个活动 片段 都会启动两次 我正在为此绞尽脑汁 但找不到答案 有人能帮我吗 这是我的主要 FragmentActivity public class TestSearch e
  • 从字符串解析到日期

    我在这里有点迷失 我想我做的一切都很好 但它仍然不起作用 PaseException String time Fri Apr 15 14 29 57 IDT 2011 SimpleDateFormat sdf new SimpleDateF
  • 使用 scala 的运行时反射查找对象

    Context 我目前使用 scala 2 11 6 将来可能使用 2 11 7 鉴于类路径中已编译的类文件 我想做两件事 查找实现特定接口的任何对象的名称 trait Service trait ServiceFactory def cr
  • 创建包含 .Net Framework 3.5 SP1 的安装项目

    我正在创建一个安装项目 客户希望拥有已包含 Net Framework 3 5 SP1 的 setup exe 文件 但是 当我右键单击 设置项目 特性 在 属性页面 上有一个名为 Prerequistes 的按钮 在那里你有 3 个选择
  • ']' aria-label='NoReverseMatch:未找到参数“(1,)”的“完整”反转。尝试了 1 个模式:['complete/']'> NoReverseMatch:未找到参数“(1,)”的“完整”反转。尝试了 1 个模式:['complete/']

    urls py from django conf urls import url from import views urlpatterns url views index name index url add views addTodo
  • 回调函数中的变量出现 PHP 错误 [重复]

    这个问题在这里已经有答案了 我在 php laravel 中有这个函数 public static function isUserParticipatesInTournament tourId userId var dump userId