gpt4 book ai didi

php - 不能使用 Illuminate\Database\Query\Builder 类型的对象作为数组

转载 作者:行者123 更新时间:2023-12-04 10:42:36 25 4
gpt4 key购买 nike

我在这里找不到错误我该如何解决?

$db2 = DB::connection('sqlsrv')->table('Checkinout')
->join('Z_MemRecord','Checkinout.Userid','=','Z_MemRecord.uid')
->select(DB::raw("FORMAT(MAX (Checkinout.CheckTime), 'hh:mm tt') AS OffTime, FORMAT (min(Checkinout.CheckTime), 'hh:mm tt') AS Ontime, Checkinout.Userid,Z_MemRecord.Uname,FORMAT (Checkinout.CheckTime, 'MMM dd yyyy') as dates,FORMAT (Checkinout.CheckTime, 'dddd') as hour"))
->groupBy(DB::raw("Convert(Date, Checkinout.CheckTime),Checkinout.Userid,Z_MemRecord.Uname,FORMAT(Checkinout.CheckTime, 'MMM dd yyyy'),FORMAT (Checkinout.CheckTime, 'dddd')"));

$result = DB::connection('mysql')->table('netdoc')->insert(['Logid' => $db2['Checkinout.Userid'] ,'name'=> $db2['Z_MemRecord.Uname'],'dates' => $db2['dates'],'day'=>$db2['hour'],'Ontime' => $db2['Ontime'],'Offtime' => $db2['OffTime']]);


dd($db2);

最佳答案

方法groupBy()返回 QueryBuilder将其转换为数组调用 get()接收行数组。

->groupBy(...)
->get();

你需要处理返回多行的查询,所以一个快速的解决方案是用 foreach() 遍历 db2 .
foreach ($db2 as $row) {
$row = (array) $row;

$result = DB::connection('mysql')
->table('netdoc')
->insert(['Logid' => $row['Checkinout.Userid'] ,'name'=> $row['Z_MemRecord.Uname'],'dates' => $row['dates'],'day'=>$row['hour'],'Ontime' => $row['Ontime'],'Offtime' => $row['OffTime']]);
}

关于php - 不能使用 Illuminate\Database\Query\Builder 类型的对象作为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59856073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com