/** * Run the database seeds. * * @return void */ public function run() { Cube::create(['name' => 'First Cube']); Block::create(['x' => '1', 'y' => '1', 'z' => '1', 'value' => '23', 'cube_id' => '1']); Block::create(['x' => '2', 'y' => '2', 'z' => '2', 'value' => '4', 'cube_id' => '1']); Block::create(['x' => '2', 'y' => '2', 'z' => '3', 'value' => '7', 'cube_id' => '1']); }
/** * Query the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function query(Request $request, $id) { $cubes = Cube::all(); $cube = $cubes->find($id); $blocks = $cube->blocks()->get(); $sum = 0; $message = "The query resulted in the sum of: "; $validator = Validator::make($request->all(), ['x1' => 'required|integer|max:32767', 'y1' => 'required|integer|max:32767', 'z1' => 'required|integer|max:32767', 'x2' => 'required|integer|max:32767', 'y2' => 'required|integer|max:32767', 'z2' => 'required|integer|max:32767']); if ($validator->fails()) { $this->throwValidationException($request, $validator); } $x1 = $request->input('x1'); $y1 = $request->input('y1'); $z1 = $request->input('z1'); $x2 = $request->input('x2'); $y2 = $request->input('y2'); $z2 = $request->input('z2'); foreach ($blocks as $block) { if ($x1 <= $block->x && $block->x <= $x2) { if ($y1 <= $block->y && $block->y <= $y2) { if ($z1 <= $block->z && $block->z <= $z2) { $sum += $block->value; } } } } $blocks = $cube->blocks()->paginate(10); return view('cubes.show', array('cubes' => $cubes, 'cube_act' => $cube, 'blocks' => $blocks, 'message' => $message . $sum)); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function createCube($info) { $name = 'Cube ' . $info; $this->cube = Cube::create(array('name' => $name)); }