我试图通过API存储前端(flutter)的历史数据。下面是laravel控制器。但是,当我在postman上运行它时,出现了一个错误Column not found:1054“字段列表”中有未知的列“images”。我想它正在检索用户的整个列。在该列中,我只检索了staff_id、date_checkIn、time_checkIn和location_checkIn。如何修复此问题?
我试过User::where('staff_id', 'date_checkIn', 'time_checkIn', 'location_checkIn')->first()->toArray();
,但它说
语法错误或访问冲突:1064 1064您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,了解在第1行“staff_id =?limit 1”附近使用的正确语法(SQL:从位置签入员工标识=日期签入限制1)在文件中的用户中选择 *.....
public function userClockIn(Request $r) {
$result = [];
$result['status'] = false;
$result['message'] = "something error";
$users = User::where('staff_id', $r->staff_id)->first();
// retrieve current data
$currentData = $users->toArray();
// store current data in historical data table
$historicalData = new HistoricalData();
$historicalData->fill($currentData);
$historicalData->save();
$mytime = Carbon::now();
$time = $mytime->format('H:i:s');
$date = $mytime->format('Y-m-d');
$users->date_checkIn = $date;
$users->time_checkIn = $time;
$users->location_checkIn = $r->location_checkIn;
$users->save();
$result['data'] = $users;
$result['status'] = true;
$result['message'] = "suksess add data";
return response()->json($result);
}
1条答案
按热度按时间mzmfm0qo1#
若要修复此错误,需要在where子句中指定要从用户表中检索的列。可以使用select方法并传入要选择的列的数组来执行此操作。
下面是如何更新代码以修复错误的示例:
这将只从用户表中检索指定的列,而不会导致错误。