【问题标题】:why laravel's queries return nvarchar instead of int?为什么 laravel 的查询返回 nvarchar 而不是 int?
【发布时间】:2020-04-16 15:42:45
【问题描述】:

我有这几行代码:

 $idprat = Praticien::select('ID_Praticien')->where('NOM',$request->input('ID_Praticien'))->get();
        $mission->ID_Praticien = $idprat;

我有这个错误信息:

la valeur nvarchar '[{"ID_Praticien":1}]' en type de données int

为什么它在我的数据库的 int 列上返回 nvarchar ? 我试着把它改成这样:

$idprat = Praticien::select('ID_Praticien')->where('NOM',$request->input('ID_Praticien'))->get()->first();

我试过了:

 $mission->ID_Praticien = (int)$idprat;

但是没用

我只是选择了 ID_Praticien 值而不是数组 xD

感谢您的帮助;)

【问题讨论】:

  • 显示表架构
  • 你能添加完整的错误吗?由于 $idprat 将返回集合而不是单个值,请尝试使用 pluck 函数。这可能会帮助你

标签: laravel input int


【解决方案1】:

试试这个:

$idprat = Praticien::select('ID_Praticien')->where('NOM',$request->input('ID_Praticien'))->get();
        $mission->ID_Praticien = $idprat[0]->ID_Praticien;

$idprat = Praticien::select('ID_Praticien')->where('NOM',$request->input('ID_Praticien'))->first();
        $mission->ID_Praticien = $idprat->ID_Praticien;

【讨论】:

  • 谢谢大家,是这个$idprat[0]->ID_Praticien;有点奇怪,这个查询给出一个数组没有?
  • 检查这个:stackoverflow.com/questions/33027047/…,当发生这种类型的错误时,更好的方法是打印数据并检查更多信息。作为示例,添加此代码并在查询后运行该函数。然后你可以找到返回值:dd($idprat);
猜你喜欢
  • 1970-01-01
  • 2011-07-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2019-09-10
  • 2013-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多