访问yii的Web应用程序时,我遇到了一些问题.我已经配置为与所有者的设置相同,但是当我尝试访问时,我收到错误"列必须是字符串或数组".我怎么能解决它?提前致谢..
报告错误消息时,有助于获得准确的错误消息.实际的错误消息是:"列名必须是字符串或数组".使用完全字符串,您可以搜索框架文件以查找它所在的位置.
看起来某个方法正在将无效的列名传递给createInConditionCDbCommandBuilder的方法.
见第722行:https://github.com/yiisoft/yii/blob/1.1.13/framework/db/schema/CDbCommandBuilder.php
看看调用该方法的几个实例,我猜你有一个没有主键的数据库表.这是该问题的一种可能解释.其他解释将需要您提供更多详细信息.
在调试模式下提供错误页面为您提供的堆栈跟踪以及表模式.
当您在表中没有主键并尝试进行更新时,会发生这种情况.我遇到了这个问题,因为我的表中有一个复合主键.在我想要更新模型之前,我在所有操作中都得到了很好的处理.
只需添加一个int主键,使用自动增量将其称为"id"到表中.它应该做的伎俩.
在测试之前,请务必禁用架构缓存(如果您正在使用它).在架构缓存过期之前,更改不会生效.
| 归档时间: |
|
| 查看次数: |
8482 次 |
| 最近记录: |