/** * IMPORTANT: Call this function name on the Controller to verify this action is allowed * Implement putInventoryIntoTote($inventoryID, $toteID) */ public function putInventoryIntoTote($inventoryID, $toteID) { $inventory = Inventory::findOrFail($inventoryID); $tote = GenericContainer::findOrFail($toteID); $container = DB::connection(GenericContainer::CONNECTION_NAME)->table('container')->where('objectID', $inventoryID)->first(); Log::info("Put Inventory {$inventoryID} into Tote {$toteID}"); if (isset($container)) { $result = DB::connection(GenericContainer::CONNECTION_NAME)->table('container')->where('containerID', $container->containerID)->update(['parentID' => $toteID, 'objectID' => $inventoryID]); // $result === 1/true if the container was updated // $result === 0/false if no containers were updated if ($result === 1 or $result === 0) { return true; } } else { $result = Container::create(['parentID' => $toteID, 'objectID' => $inventoryID]); // $result == container object created if (isset($result) and get_class($result) == 'App\\vital3\\Container') { return true; } } Log::error('putInventoryIntoTote failed'); //dd(__METHOD__.'('.__LINE__.')',compact('inventoryID','toteID','inventory','tote','container','result')); return ['putInventoryIntoTote failed']; }
/** * Implement find($id) */ public function find($id) { // using the Eloquent model return $this->addTypes(Inventory::findOrFail($id)); }