YII常见报错笔记

报错返回的代码如下:

<pre>PHP Notice 'yii\base\ErrorException' 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): yii\base\ErrorHandler->handleError(8, 'Uninitialized s...', '/my/test/projec...', 778, Array)
#1 /my/test/project/iot/vendor/yiisoft/yii2/base/Model.php(354): yii\base\Model->activeAttributes()
#2 /my/test/project/iot/vendor/yiisoft/yii2/db/ActiveRecord.php(455): yii\base\Model->validate(NULL)
#3 /my/test/project/iot/vendor/yiisoft/yii2/db/BaseActiveRecord.php(635): yii\db\ActiveRecord->insert(true, NULL)
#4 /my/test/project/iot/common/models/Order.php(243): yii\db\BaseActiveRecord->save()
#5 /my/test/project/iot/frontend/controllers/OrderController.php(219): common\models\Order->createOrder(Array)
#6 [internal function]: frontend\controllers\OrderController->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): yii\base\InlineAction->runWithParams(Array)
#9 /my/test/project/iot/vendor/yiisoft/yii2/base/Module.php(523): yii\base\Controller->runAction('orderoncecreate', Array)
#10 /my/test/project/iot/vendor/yiisoft/yii2/web/Application.php(102): yii\base\Module->runAction('order/orderonce...', Array)
#11 /my/test/project/iot/vendor/yiisoft/yii2/base/Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#12 /my/test/project/iot/frontend/web/index.php(18): yii\base\Application->run()
#13 {main}</pre>

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

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

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

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

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

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

错误代码分析总结:

YII报错笔记:<pre>PHP Notice &#039;yii\base\ErrorException&#039; with message &#039;Uninitialized string offset: 0&#039; in /my/test/project/iot/vendor/yiisoft/yii2/base/Model.php:778的更多相关文章

  1. YII2修改backend模块报错An Error occurred while handling another error: exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "site/error".' in E:\project\demo\vendor\yiisoft

    报错内容: 原因:没有修改common/config/bootstrap.php里的别名 修改后:

  2. php 安装 yii 报错: phpunit/phpunit 4.8.32 requires ext-dom *

    php 安装 yii 报错: phpunit/phpunit 4.8.32 requires ext-dom * 我的版本是7.0,以7.0为例演示. 先装这两个拓展试试: sudo apt-get ...

  3. iOS报错笔记

    问题一: linker command failed with exit code 1 (use -vto see invocation) 原因:导入了.m的头文件,导致同时有两个一样的.m文件在编译 ...

  4. iOS项目之报错笔记

    问题一: linker command failed with exit code 1 (use -vto see invocation) 原因:导入了.m的头文件,导致同时有两个一样的.m文件在编译 ...

  5. angular 报错笔记

    1.错误信息: Failed to instantiate module app due to: Error: [$injector:unpr] http://errors.angularjs.org ...

  6. SpringBoot报错笔记

    异常一: 1.访问所有方法路径都返回一个page: 截图: 出错原因:不知道 解决方法:新建项目 异常二: 提交表单信息报错 原因:映射文件和和表单的提交方式不统一 解决方法:统一方式即可: 错误三: ...

  7. Xcode报错Xcode导入runtime框架函数参数没有提示或Too many arguments to function call, expected 0, have 2错误

    前言:在引入<objc/runtime.h> 与 <objc/message.h> 后,调用objc_msgSend(),会报如下错误: 报错原因: 从Xcode6之后,苹果不 ...

  8. php5.6 上传图片error代码为6 或者 报错“PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0”的解决办法

    问题:再利用webuploader上传图片的时候发现,报错,打印了$_FILES["file"]["error"] 发现是6,找不到临时文件夹: $_FILES ...

  9. mybaties报错:There is no getter for property named 'table' in 'class java.lang.String'

    报错是由于xml里获取不到这个table参数 package com.xxx.mapper; import java.util.List; import org.apache.ibatis.annot ...

随机推荐

  1. UVA1635 Irrelevant Elements —— 唯一分解定理 + 二项式定理

    题目链接:https://vjudge.net/problem/UVA-1635 (紫书320) 题解: 1.根据二项式定理, 可得递推公式: C(n,k) = (n-k+1)/k * C(n, k- ...

  2. Windows Power Shell

    Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能. 它引入了许多非常有用的新概念,从而进一步扩展了您在 W ...

  3. .net2.0 C# Json反序列化

    http://cjl20082002.blog.163.com/blog/static/120827332009511103457637/ 去:http://json.codeplex.com/下载  ...

  4. jmeter中的响应断言

    断言就类似LoadRunner中的检查点.对上一个请求返回的信息,做字符串.数据包大小.HTML.XML.图片等做判断,确保返回的信息的准确性. jmeter的断言有好多,下面是一个响应断言 新建一个 ...

  5. python之yield和Generator

    首先我们从一个小程序导入,各定一个list,找出其中的素数,我们会这样写 import math def is_Prims(number): if number == 2: return True / ...

  6. 记一次关于return的错误

     有时候瞎JB程序,调一天东改西改,都发现不了错:到最后弄出来发现就是那样一个SB错误,真不知道该笑还是该哭. 这个if语句中的return,如果加了那么判断了if语句成立后,下面就不再执行了.   ...

  7. C语言之数组与指针的易混淆知识点

    一.指针与数组 指针:指针本身也是一个变量,它的内容是指向的内容的地址.指针同样有类型的区分,char 的指针只能指向char型数据,int 指针指向int型数据.但是指针所占内存单元的大小(即其内容 ...

  8. bzoj4455

    容斥原理+dp 首先考虑暴力做法,我们希望点和点一对一,那么自然要保存当前点集的状态,需要状压,据说要3^n,那么自然不行 考虑容斥原理,刚才一一对应的限制太强了,我们不要一一对应,只要满足边存在就行 ...

  9. 优化 SQL Server CPU 性能

    本文將探討在使用SQL Server時有那些原因可能會造成過度消耗CPU資源,若CPU使用率管理不善或過度使用CPU資源的話,可能會對SQL Server有明顯的影響,建議您需要增加或更換CPU.. ...

  10. 【Data Structure & Algorithm】求1+2+…+n

    求1+2+-+n 题目:求1+2+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句(A ? B : C). 分析:此题没多少实际意义,因为 ...