zoukankan      html  css  js  c++  java
  • YII报错笔记:<pre>PHP Notice &#039;yiiaseErrorException&#039; with message &#039;Uninitialized string offset: 0&#039; in /my/test/project/iot/vendor/yiisoft/yii2/base/Model.php:778

    YII常见报错笔记

    报错返回的代码如下:

    <pre>PHP Notice 'yiiaseErrorException' with message 'Uninitialized string offset: 0' 
    
    in /my/test/project/iot/vendor/yiisoft/yii2/base/Model.php:778
    
    Stack trace:
    #0 /my/test/project/iot/vendor/yiisoft/yii2/base/Model.php(778): yiiaseErrorHandler->handleError(8, 'Uninitialized s...', '/my/test/projec...', 778, Array)
    #1 /my/test/project/iot/vendor/yiisoft/yii2/base/Model.php(354): yiiaseModel->activeAttributes()
    #2 /my/test/project/iot/vendor/yiisoft/yii2/db/ActiveRecord.php(455): yiiaseModel->validate(NULL)
    #3 /my/test/project/iot/vendor/yiisoft/yii2/db/BaseActiveRecord.php(635): yiidbActiveRecord->insert(true, NULL)
    #4 /my/test/project/iot/common/models/Order.php(243): yiidbBaseActiveRecord->save()
    #5 /my/test/project/iot/frontend/controllers/OrderController.php(219): commonmodelsOrder->createOrder(Array)
    #6 [internal function]: frontendcontrollersOrderController->actionOrderoncecreate()
    #7 /my/test/project/iot/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
    #8 /my/test/project/iot/vendor/yiisoft/yii2/base/Controller.php(156): yiiaseInlineAction->runWithParams(Array)
    #9 /my/test/project/iot/vendor/yiisoft/yii2/base/Module.php(523): yiiaseController->runAction('orderoncecreate', Array)
    #10 /my/test/project/iot/vendor/yiisoft/yii2/web/Application.php(102): yiiaseModule->runAction('order/orderonce...', Array)
    #11 /my/test/project/iot/vendor/yiisoft/yii2/base/Application.php(380): yiiwebApplication->handleRequest(Object(yiiwebRequest))
    #12 /my/test/project/iot/frontend/web/index.php(18): yiiaseApplication->run()
    #13 {main}</pre>
    

     原因:这里明显提示是模型Model出错,所以根据报错信息分析。

               第一步:找到相应调用的模型检查,

               第二步:查看报错提(这个错误是:Uninitialized string offset: 0  未初始化字符串偏移量:0)。

     最后分析上面两步得出,我在模型的验证规则里定义了一个空字段(‘’),如下图所示

    因为yii的验证规则是对写入每个字段都做验证(没有做空判断),我数据表又没有这个字段,所以就会报错。

    结论:如果报错代码类似以上的,检查下自己的验证规则字段是否有和数据表不一样的字段。

    错误代码分析总结:

  • 相关阅读:
    Java 上传文件总结
    Java和C# MD5加密比较
    ORM映射框架总结数据操作(七)
    ORM映射框架总结数据操作(五)
    ORM映射框架总结数据操作(一)
    ORM映射框架总结数据操作(四)
    ORM映射框架总结数据操作(六)
    ORM映射框架总结文件下载
    STM32USART DMA_Interrupt例程的学习
    开始STM32的学习
  • 原文地址:https://www.cnblogs.com/ccw869476711/p/9504834.html
Copyright © 2011-2022 走看看