Cakephp 3 回调方法未到达

2023-12-29

我对 afterDelete 回调方法有疑问。我不能使用它们。

在我的一个“存储”插件控制器中,我想删除一条记录,然后我想做一些其他的事情,但没有达到回调方法。我已经通过在 afterDelete() 回调方法中添加日志消息来检查这一点。

这是我删除记录的控制器:

namespace Storages\Controller;

class StoragecontainerBlocksController extends AppController {

   public function initialize() {
       parent::initialize();
       $this->loadComponent('RequestHandler');
   }

   public function ajaxDeleteBlockElement() {
       $this->autoRender = false;

       // load model
       $this->loadModel("StoragecontainerBlockElements");

       // get element id
       $elementId = $this->request->data('id');

       $this->request->allowMethod(['post', 'delete']);

       // delete element
       $storagecontainerBlockElement = $this->StoragecontainerBlockElements->get($elementId);
       $this->StoragecontainerBlockElements->delete($storagecontainerBlockElement);
   }
}

这是定义 afterDelete 回调的(模型)表:

  use Cake\Log\Log;
  class StoragecontainerBlockElementsTable extends Table {

   public function afterDelete(Event $event) {
       Log::debug('Got here');
   }
  }

Update:

当我调试的时候Log::debug($this->StoragecontainerBlockElements);在 ajaxDeleteBlockElement 函数内,我在 debug.log 文件中得到以下数组:

2017-03-31 07:03:48 Debug: Cake\ORM\Table Object
(
    [registryAlias] => StoragecontainerBlockElements
    [table] => storagecontainer_block_elements
    [alias] => StoragecontainerBlockElements
    [entityClass] => \Cake\ORM\Entity
    [associations] => Array
        (
        )

    [behaviors] => Array
        (
        )

    [defaultConnection] => default
    [connectionName] => default

Update:

namespace Storages\Model\Table;

use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
use Cake\Validation\Validator;
use Cake\Log\Log;

class StoragecontainerBlockElementsTable extends Table {

    public function initialize(array $config) {
       parent::initialize($config);
    }

    public function afterDelete(Event $event) {
       Log::debug('Got here');
    }
}

从调试结果可以看出,$this->StoragecontainerBlockElements并不是你想象的那样,它是一个所谓的“自动表”或“通用表”,即一个实例\Cake\ORM\Table而不是其具体子类。

Your StoragecontainerBlockElementsTable由于某种原因无法找到/加载类/文件,因此回退到\Cake\ORM\Table。可能是由于

  • 文件名、类名或命名空间中的拼写错误
  • 或者名称空间完全丢失(这不是你的问题)
  • 或者该类位于插件中,并且您没有使用插件符号来加载它
  • 或者文件权限不允许读取文件
  • 或者文件丢失(未部署)
  • ...

See also

  • 说明书 > 配置 > 禁用通用表 https://book.cakephp.org/3.0/en/development/configuration.html#disabling-generic-tables
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cakephp 3 回调方法未到达 的相关文章

  • Cakephp 3 - 运行 phpunit 测试时出现 MissingDatasourceConfigException

    我正在尝试使用 PHPUnit 4 7 3 在 CakePHP 3 中运行一些单元测试 但出现以下错误 PHPUnit 4 7 3 by Sebastian Bergmann and contributors There was 1 err
  • 使用 CakePHP 2 的特征和命名空间的正确方法是什么?

    我正在使用 CakePHP 2 4 5 和 PHP 5 5 并且想使用一个特征 我在 Utility VariablesTrait php 中有一个称为VariablesTrait 为了利用命名空间 我给了它一个命名空间App Utilit
  • CakePHP:用 save() 进行加/减?

    我试图通过 Cake 的 save 函数简单地执行以下操作 UPDATE user SET value value 1 不过 好像只能设定 它不会理解我传递给它来增加或减少的任何内容 并且互联网上似乎没有人遇到这个问题 P 即使在浏览某人在
  • 在 CakePHP 应用程序中启用 CORS

    我正在尝试为 CakePHP 中内置的 API 启用 CORS 以便可以通过 AppController 中的以下内容访问所有请求 public function beforeFilter header Access Control All
  • 属于 cakephp 和 html select 中的问题,我不明白该怎么做

    cakephp菜鸟提出的简单问题 我有两个模型 玩家和团队 Team 有一个id int 和一个cool name varchar 玩家有一个 id int 一个 Cool name varchar 和一个团队表引用 team id int
  • CakePHP ajax 帖子不断返回 400 Bad Request

    我正在尝试使用 ajax post 来执行操作 GET 请求工作正常 但当我尝试 POST 时 我在 firebug 中看到 400 Bad Request 并且视图返回 黑洞 响应 这是 Jquery 请求 ajax url usermg
  • 为什么 JavaScript 文件在我的 Cake 插件中被解析为 PHP?

    我正在开发的 Cake 插件中包含的 JavaScript 之一出现问题 由于某种原因 JavaScript 文件被解析为 PHP 文件 因此加载该文件会抛出此错误 这是 PHP 解析错误 b Parse error b syntax er
  • CakePHP 2.0 中的错误处理。转义 viewVars [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在 Cake 2 中遇到了一个奇怪
  • 是否使用 PHP 框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经开始用 PHP 编写一些应用程序 并且我对这门语言越来越熟悉 有人告诉我有关 CakePHP 和 CodeIgniter 的信息 我想更好
  • cakephp 3 中的授权和 ACL

    我搜索了文档 但没有找到有关 cakephp 3 中 ACL 实现的任何信息 如何在 cakephp 3 中使用 ACL 实现授权 ACL 不像 CakePHP 2 那样内置在 CakePHP 3 中 它现在作为单独的插件提供 引用自htt
  • CakePHP:控制台命令中的自定义错误报告

    我们当前使用 CakePHP 2 4 7 和自定义错误处理程序 自定义错误处理程序适用于通过 HTTP 或 CronDispatcher 发出的每个请求 不幸的是 当向我们的控制台命令之一发出控制台请求时 错误处理程序被忽略 请参见以下示例
  • Cakephp 验证后,所有表单字段都为空,并出现表单错误

    我有问题 我尝试填写表单 然后单击提交按钮 然后它显示表单错误 但所有文本框字段都变为空白 并且可以显示表单错误 我希望它变得与验证之前相同的值 就像我不想在验证后清除 清空值一样 我做了这样的事情 在视图中 div class regfo
  • 按 ID 分组和按日期排序

    lastComments this gt Comment gt find all array fields gt array Comment news id Comment date Comment content group gt arr
  • CSS 不适用于 CakePHP 应用程序

    我在使用 CakePHP 时遇到问题 找不到 CSS 当我在浏览器中查看源代码时 我可以在头部看到蛋糕通用 CSS 链接 但是当我点击它查看实际的源代码时 我收到了 404 未找到错误 Update 我已按照此处的说明进行操作 http b
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • cakephp 1.1 与 php 5.3

    我刚刚从 php 5 1 升级到 5 3 之前在我的服务器上使用 cakephp 1 1 自从升级 或者可能更早 我不确定 以来 我收到以下错误 任何人都可以透露一些信息 Deprecated Assigning the return va
  • AWS S3 上传的图像已损坏

    我正在 AWS ec2 ubuntu 机器上工作 我的代码在 cakephp 中 当我尝试将任何图像上传到 AWS S3 时 它都会损坏 虽然它在核心 php 代码中运行良好 这是我的控制器代码 if this gt User gt sav
  • CakePHP hasOne/belongsTo 模型关系

    我有几个模型正在尝试关联 一种模型是Item 一个是Slide 另一个是Asset 项目下方有多个幻灯片 资产基本上是已上传的文件 图像 mp3 等 幻灯片是显示资产的位置 每张幻灯片都有一个资产 但给定的资产可能属于多张幻灯片 一张幻灯片
  • CakePHP PaginationRecallComponent,严格 (2048):PaginationRecallComponent::initialize() 声明

    我尝试插入分页调用组件 http bakery cakephp org articles Zaphod 2012 03 27 paginationrecall for cakephp 2 x http bakery cakephp org
  • 动态创建的数据源未传递到 CakePHP 中的关联模型

    我有一个模型 汽车 该汽车有几个关联的模型 让我们考虑其中一个与hasMany关系 轮 在我的 CarsController 中 我使用以下代码动态生成数据源 schemaName this gt Session gt read User

随机推荐

  • ASP.NET Web API 的 JWT 身份验证

    我试图在我的 Web API 应用程序中支持 JWT 不记名令牌 JSON Web 令牌 但我迷路了 我看到对 NET Core 和 OWIN 应用程序的支持 我目前在 IIS 中托管我的应用程序 如何在我的应用程序中实现此身份验证模块 有
  • 仅获取电子邮件文本的可靠方法,不包括以前的电子邮件

    我正在创建一个基本系统 允许用户通过电子邮件回复网站上的帖子 但是 大多数电子邮件客户端在回复电子邮件中包含之前电子邮件的文本 该文本在网站上是不需要的 有没有一种可靠的方法可以让我在不事先了解早期电子邮件的情况下仅提取新邮件 我正在使用e
  • 识别隐式强制转换和显式强制转换[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果有人能回答我的问题 我将不胜感激
  • 如何在 Spring Boot 测试中设置“headless”属性?

    我正在使用 Spring Boot 和 JavaFX 进行测试 基于一些优秀的 YouTube 视频 https www youtube com watch v hjeSOxi3uPg这解释了这一点 为了使其与TestFX https gi
  • Angular.js 子目录中的路由

    是否可以以从部署该应用程序的 Web 目录路径中抽象的方式来开发 Angular js 应用程序 我正在尝试将 Angular js 应用程序放入 Web 服务器子目录中http example com myproject http exa
  • Firestore ID 在整个数据库中是否唯一[重复]

    这个问题在这里已经有答案了 我的意思是 如果我们从所有集合和子集合等中收集所有 id 自动生成 它们都是唯一的吗 做什么的 我正在构建一个新功能 用户可以在其中共享子集合中的项目 所以我不确定 我可以在用户子集合之间使用相同的 id 吗 T
  • Laravel 雄辩关系:->latest()

    laravel中latest 的作用是什么 Example public function activity return this gt hasMany App Activity gt with user subject gt lates
  • 如何强制 PHP 使用字符串作为数组键? [复制]

    这个问题在这里已经有答案了 我遇到过一个旧应用程序 它使用 id 来命名类型数组 例如 array 1 280 gt string 3 abc 现在我需要重新排序这些 并且var dump 当键是整数时 这看起来不会发生 如果我添加一个a对
  • 使用 AcquireTokenSilent 刷新 access_token

    我有一个 asp net core MVC 应用程序 它将 access token 传递给下游 API 经过一番努力 我弄清楚了如何使用 MSAL Net 获取 access token 但访问令牌每小时都会过期 因此我必须刷新它 所以我
  • 如何从 Swift 中的 void 闭包返回值?

    我有一个函数可以查询某个用户以访问该用户的数组 我返回用户并且可以访问他们的数组 但是 该调用是异步的 返回的值为零 该函数总体上有一个完成处理程序 但是 内部有一个查询调用 并且默认情况下该查询返回 Void func getAllMat
  • Python在类中调用方法

    我在这里的表现远远超出了我的承受能力 但请耐心等待这位 Python 业余爱好者 我是一名 PHP 开发人员 之前几乎没有接触过这种语言 我想做的是调用类中的方法 听起来很简单吗 我完全困惑于 self 指的是什么 以及在类内部和类外部调用
  • 在 PHP 中将数组元素移动到新索引

    我正在寻找一个简单的函数来将数组元素移动到数组中的新位置并对索引重新排序 以便序列中没有间隙 它不需要使用关联数组 有人对此有想法吗 a array 0 gt a 1 gt c 2 gt d 3 gt b 4 gt e print r mo
  • php 中子类构造函数如何与父类构造函数交互?

    现在 我正在开发两个类用于与 MySQL 数据库交互 一个类扩展了另一个类 他们来了 class DB MySQL protected dbuser protected dbpass protected dbhost protected d
  • 在 Android 模拟器中运行时无法更改 Chrome 自定义选项卡导航栏颜色

    为 Chrome 自定义选项卡指定颜色似乎有点奇怪 您可以指定三种颜色 工具栏颜色 辅助工具栏 颜色和导航栏颜色 似乎有两种方法可以控制这些 一种是直接在 Builder 中设置这三个属性 如下所示 val builder CustomTa
  • MVC-路由,为什么我不能忽略默认值,匹配的路由不包含“控制器”路由值,这是必需的

    我有这个配置 public static void RegisterRoutes RouteCollection routes routes IgnoreRoute resource axd pathInfo routes MapRoute
  • Android 在簇标记上打开 InfoWindow

    我实现了一个选项来查找距离实际位置最近的标记 我在带有自定义信息窗口的 ClusterItem 中拥有所有标记 在没有聚类的普通谷歌地图上我可以使用marker showInfoWindow 然后就会弹出信息窗口 使用聚类时似乎没有这样的方
  • S3 Select 可以搜索多个对象吗?

    我正在测试S3选择 https aws amazon com blogs aws s3 glacier select 据我从示例中了解到 您可以将单个对象 CSV 或 JSON 视为数据存储 我希望每个 S3 对象都有一个 JSON 文档
  • 查找两个日期之间天数的算法

    我正在研究一个学校问题 以找出算法来查找两个给定日期之间的天数 然后在 Java 中实现该算法 感兴趣的算法在这里找到 http www sunshine2k de articles coding datediffindays calcdi
  • PDF 抓取:获取公司和子公司表格

    我正在尝试刮这个PDF https drive google com file d 1kuqjeKl3cESlgth2Pn LY8dxMjqUyoYU view usp sharing包含有关公司子公司的信息 我看过很多使用 R 包 Tab
  • Cakephp 3 回调方法未到达

    我对 afterDelete 回调方法有疑问 我不能使用它们 在我的一个 存储 插件控制器中 我想删除一条记录 然后我想做一些其他的事情 但没有达到回调方法 我已经通过在 afterDelete 回调方法中添加日志消息来检查这一点 这是我删