yii2,我这些代码有什么问题,为何无法添加进表?求高人解答

我在1.0时,添加没问题,在2.0不知道哪里出了问题,添加时,老是无法进表,我打印 $id=$model->insert();那个id总是无法返回真,不知道哪里出了问题.模型是gii里自动生成的

图片描述

这是打印的post数据

图片描述

这是代码,我实在无法理解,为什么就是不能进表,模型里,
public static function tableName()

{
    return '{{%news}}';
}

这样返回表名的,应该也没错,主要是,我这样配置,在cats表插入完全没问题

所以特来请教各位,麻烦大家不要认为这问题太弱智不回答,拜谢
阅读 2.7k
4 个回答

为何无人帮忙解答呢?我validate后插入也插不了,把insert改为save也不行,花您二十秒时间帮忙解答不行吗?谢谢

我记得yii里有方法可以打印执行的最后一条语句的mysql,你先把mysql打印出来看看!

首先$model->attributes = ...这个语句没这么写过不知道你的目的,正常都是$model->load(Yii::$app->requset->post()) 这样将post的数据加载到类中。

其次 可以用 $model->getErrors();来获取validate的错误信息。

最好 如果 这样看不出问题 楼上的那个方法也是可以 获得sql后直接拿去执行一下就知道问题所在了。

validate 如果是false的话打印一下, $model->getFirstErrors();
建议把php错误打开,看报错。
检查
1、rules里面是不是设置规则不满足。
2、数据库是不是指定主键,字段重复(主键需唯一)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题