使用laravel数组到字符串的转换插入数据



在数据库中处理插入数据时遇到问题。始终返回消息Array to string conversion和我不知道为什么。在其他控制器中,我有这个代码,它是可以的。现在我需要插入一个数据,但我不能

我的实际代码是:

public function insertarActuacion(){
$fechaActual = date("Y-m-d H:i:s");
$tiempoEmpleado = 0;
$bono = DB::select(DB::raw("SELECT codBono
FROM bonos
WHERE bonos.usuario = " . Auth::user()->id));
$tiempoRestante = 0;
DB::insert("INSERT INTO actuacion (fecha, tiempoEmpleado, usuario, bono, tiempoRestanteBono) VALUES (?, ?, ?, ?, ?) ",
[ $fechaActual, $tiempoEmpleado, Auth::user()->id, $bono, $tiempoRestante ] );
}

谢谢你帮我

这个问题的答案实际上已经在错误消息中了。

插入的值之一被认为是一个数组,但代码试图将其强制转换为字符串,从而导致错误。

检查哪一个数据是数组,然后只从中获取所需的值。

或者,如果你不知道什么数据是数组,你可以使用var_dump($var),它会告诉你类型是什么,内容是什么。只用于调试目的。

插入时,$bono是一个数组。您需要选择以下值。

$bono = DB::table('bonos')->select('codBono')->where('usuario',Auth::user()->id)->first();
$codBono = '';
if(!empty($bono)){
$codBono = $bono->codBono;
}

现在插入这个值。

DB::insert("INSERT INTO actuacion (fecha, tiempoEmpleado, usuario, bono, tiempoRestanteBono) VALUES (?, ?, ?, ?, ?) ",
[ $fechaActual, $tiempoEmpleado, Auth::user()->id, $codBono, $tiempoRestante ] );

相关内容

  • 没有找到相关文章

最新更新