【问题标题】:Yii2 data migration from migration fileYii2 从迁移文件迁移数据
【发布时间】:2017-12-14 06:00:03
【问题描述】:

我的迁移文件代码/值如下所示,但

$model->setAttributes(
  [
    'id' => '1',
    'title' => 'Tag test',
    'slug' => 'ssds',
    'status' => '1',
    'is_archived' => '0',
    'description' => 'sdsdfsd  asfda s fsd fsadfasfdsaf',
    'created_at' => '2017-12-14 00:00:00',
    'updated_at' => '2017-12-14 00:00:00',
    'created_by' => '2',
    'updated_by' => '2',
    'identifier' => 'ssds',
 ],

但是当我在作曲家中运行命令时它显示错误

异常:SQLSTATE[23000]:违反完整性约束:1048 列 'created_by' 不能为空 正在执行的 SQL 是:INSERT INTO 标签(id、title、slug、status、is_archived、 描述,created_at,updated_at,created_by,updated_by, 标识符)值(1,'标签测试','ssds',1,0,'sdsdfsd asfda s fsd fsadfasfdsaf',现在(),现在(),NULL,NULL,'ssds') (E:\xamp-7\htdocs\1712SAM\dev\vendor\yiisoft\yii2\db\Schema.php:636)

【问题讨论】:

  • 转到 Phpmyadmin 并在 created_by 和 updated_by 上设置允许 null,
  • 将您的created_by 结构更改为默认NULLCURRENT_DATE
  • 如果您尝试查看我的值,可能 get 值存在于那里,但它显示为 null。那么为什么我将其更改为 null。

标签: php yii2-advanced-app yii-extensions yii2-model


【解决方案1】:

作为案例,您为 AR 模型设置了不安全的属性,为了正确工作,您需要将 setAttributes() 函数中的第二个参数设置为 falsehttp://www.yiiframework.com/doc-2.0/yii-base-model.html#setAttributes()-detail

【讨论】:

    猜你喜欢
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多