public function puzzle_squares($include_answers = false) { $ret = array(); $db = PuzzleSquare::where('puzzle_id', $this->id)->orderBy('row')->orderBy('col')->get(); foreach ($db as $ps) { $ret[$ps->row . '-' . $ps->col] = array('square_type' => $ps->square_type); if ($include_answers) { $ret[$ps->row . '-' . $ps->col]['letter'] = $ps->letter; } } return $ret; }
public static function replace($args) { //require puzzle_id, row, col if (isset($args['puzzle_id']) && isset($args['row']) && isset($args['col'])) { $ps = PuzzleSquare::where('puzzle_id', $args['puzzle_id'])->where('row', $args['row'])->where('col', $args['col'])->first(); if (!$ps) { $ps = new PuzzleSquare(); $ps->puzzle_id = $args['puzzle_id']; $ps->row = $args['row']; $ps->col = $args['col']; } $ps->letter = isset($args['letter']) ? $args['letter'] : ""; $ps->save(); return $ps; } else { return array('errors' => array('incomplete input for puzzle square')); } }