首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLSTATE[HY000]:常规错误: 1364字段'id_personalia‘没有默认值

SQLSTATE[HY000]:常规错误: 1364字段'id_personalia‘没有默认值
EN

Stack Overflow用户
提问于 2020-03-09 15:02:37
回答 2查看 66关注 0票数 0

我试图在一个表单中分配多个数据,但它给出了这个错误,尽管id_personalia中有数据。

以下是错误消息:

代码语言:javascript
复制
SQLSTATE[HY000]: General error: 1364 Field 'id_personalia' doesn't have a default value (SQL: insert into `tbl_personalia_perusahaan` (`id_profil_penyedia`, `nm_personal`, `tgl_personal`, `pendidikan_personal`, `jbtn_personal`, `pengalaman_personal`, `keahlian_personal`, `sertif_personal`, `path_personal`) values (9, Bambang, 24 ns, sd, sekretaris, 3, ada, ada, archive_gambar/138/pendaftaran_perusahaan/138-personal-1.pdf))

这是它的价值

我的控制器:

代码语言:javascript
复制
$nop = 1;

foreach ($request->nm_personal as $person=>$p) {
    $nmpersonal = $sesi . '-personal-' . $nop . '.' . $request->img_personal[$person]->getClientOriginalExtension();

    $path_personal = 'archive_gambar/' . $sesi . '/pendaftaran_perusahaan/' . $nmpersonal;

    $request->img_personal[$person]->move($tujuan_upload, $nmpersonal);

    $data7 = array(
        'id_profil_penyedia'  => $id_perus,
        'nm_personal'         => $request->nm_personal[$person],
        'tgl_personal'        => $request->tgl_personal[$person],
        'pendidikan_personal' => $request->pendidikan_personal[$person],
        'jbtn_personal'       => $request->jbtn_personal[$person],
        'pengalaman_personal' => $request->pengalaman_personal[$person],
        'keahlian_personal'   => $request->keahlian_personal[$person],
        'sertif_personal'     => $request->sertif_personal[$person],
        'path_personal'       => $path_personal
    );

    $nop++;

    ModelPersonalia::insert($data7);                
}
EN

回答 2

Stack Overflow用户

发布于 2020-03-09 15:13:21

根据您的应用程序逻辑使用其中一种解决方案...

解决方案1:

在数据库中,将id_personalia设置为可空,或者为其指定默认值

解决方案2:

在迁移过程中,将id_personalia设置为可空,或者为其指定默认值:$table->integer('id_personalia')->nullable()->default(0);

解决方案3:

在控制器中,将值分配给id_personalia

代码语言:javascript
复制
$data7 = array(
    'id_profil_penyedia'=>$id_perus,
    'nm_personal'=>$request->nm_personal[$person],
    'tgl_personal'=>$request->tgl_personal[$person],
    'pendidikan_personal'=>$request->pendidikan_personal[$person],
    'jbtn_personal'=>$request->jbtn_personal[$person],
    'pengalaman_personal'=>$request->pengalaman_personal[$person],
    'keahlian_personal'=>$request->keahlian_personal[$person],
    'sertif_personal'=>$request->sertif_personal[$person],
    'path_personal'=>$path_personal,
    // here
    'id_personalia'=>$request->id_personalia,
);

$nop++;

ModelPersonalia::insert($data7); 

不要忘记将其添加到ModelPersonalia的可填充属性中,或者使所有受保护的protected $guarded = [];

希望这能对你有所帮助

票数 0
EN

Stack Overflow用户

发布于 2020-03-09 15:47:08

这很可能是因为id_personalia不在与表对应的模型中的$fillable数组中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60595928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档