【问题标题】:Warning while deleting model with no model associated删除没有关联模型的模型时发出警告
【发布时间】:2014-11-20 09:13:47
【问题描述】:

大家好,感谢您的帮助

我的模型结构如下:

Class Model1 {
      public $hasMany = array(
            "Model2" => array (
            "className" => "Model2",
            "foreignKey" => "model1_id",
            "dependent" => TRUE
        )
}

稍后当我尝试删除给定的 Model1 对象时,如果它还没有任何关联的 Model2 对象,操作会输出一个警告,告诉我

Invalid argument supplied for foreach() [CORE\Cake\Model\Model.php, line 2648]

有什么办法可以避免这个警告信息?我通过 JSON AJAX 请求请求删除,该响应只是 HTML,避免我的 JSON 解析器正确处理它。

【问题讨论】:

  • 你的删除功能是什么,请给我看看!
  • 作为第一步,我建议尝试使用最新的 CakePHP 版本来检查这是否是一个已修复的错误。出于调试目的,请检查传递给foreach 语句的确切内容。 ps,请务必提及您的准确 CakePHP 版本!
  • @maysaghira 这是默认的 CakePHP 模型调用,它没有以任何方式自定义
  • @ndm 这是 CakePHP 2.4.4,我不是在自己迭代模型,而是在 CakePHP 中的级联实现。
  • 我知道这是核心模型类,我的建议是,调试值,测试最新版本:)

标签: cakephp cakephp-2.4


【解决方案1】:

固定。

Model2 中有一个 afterFind 回调,它没有返回查询结果,而是返回布尔值 TRUE。

一旦解决了这个问题,一切就开始工作了

感谢@maysaghira 和@ndm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    相关资源
    最近更新 更多