/** * Store a newly created resource in storage. * POST /targets * * @return Response */ public function store() { $response = new stdClass(); $statusCode = 201; $in = Input::only('name', 'mask', 'freq', 'sinner'); $rules = array('name' => 'required', 'mask' => 'required', 'freq' => 'required | integer', 'sinner' => 'required | boolean'); $vd = Validator::make($in, $rules); if ($vd->fails()) { $errs = $vd->messages(); $statusCode = 400; $response = $errs->all(); } else { // 先檢查有沒有登記過再新增 $authId = Auth::user()->id; $uid = Target::where(array('uid' => $authId, 'name' => $in['name']))->pluck('uid'); if (!$uid) { $in['uid'] = Auth::user()->id; $response = Target::firstOrCreate($in); } else { $statusCode = 302; } } return Response::json($response, $statusCode); }