public function createLogRecord($action, $asset, $admin, $user, $expected_checkin = null, $note = null, $checkout_at = null) { $logaction = new Actionlog(); $logaction->asset_id = $this->id; $logaction->checkedout_to = $this->assigned_to; $logaction->asset_type = 'hardware'; $logaction->note = $note; if ($checkout_at != '') { $logaction->created_at = \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s', strtotime($checkout_at))); } else { $logaction->created_at = \Carbon\Carbon::now(); } if ($action == "checkout") { if ($user) { $logaction->location_id = $user->location_id; } } else { // Update the asset data to null, since it's being checked in $logaction->checkedout_to = $asset->assigned_to; $logaction->checkedout_to = ''; $logaction->asset_id = $asset->id; $logaction->location_id = null; $logaction->asset_type = 'hardware'; $logaction->note = $note; $logaction->user_id = $admin->id; } $logaction->adminlog()->associate($admin); $log = $logaction->logaction($action); return $logaction; }