【问题标题】:Why does using my primary key 'code_giac' for update my fields?为什么使用我的主键“code_giac”来更新我的字段?
【发布时间】:2019-03-11 14:42:48
【问题描述】:

这是我在控制器中的验证代码:

$request->validate([
            'libelle'=> 'required|max:50|unique:giacs,libelle,'.$giac->code_giac,
            'specif'=> 'required|max:50',
            'adlocal_1'=> 'required|max:100',
            'adlocal_2'=> 'required|max:100',
        ]);

我收到了这个错误:

SQLSTATE[42S22]:未找到列:1054 'where 子句'中的未知列 'id'(SQL:选择计数(*)作为来自 giacs 的聚合,其中 libelle = Giac translog 和 id 第1111章)

而且我不使用id 作为主键

【问题讨论】:

  • 除非我遗漏了一些东西,否则验证与正在构建和运行的查询无关,在你的代码中的其他地方
  • 在此处指定第四个参数作为表的主键unique:giacs,libelle,'.$giac->code_giac, primarykey

标签: php mysql laravel laravel-5.7


【解决方案1】:

变化:

unique:giacs,libelle,'.$giac->code_giac,

与:

unique:giacs,libelle,'.$giac->code_giac.',code_giac',

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 2014-10-19
    相关资源
    最近更新 更多