findOrFail() 공개 정적인 메소드

Find a model by its primary key or throw an exception.
public static findOrFail ( mixed $id, array $columns = [] ) : Model | Illuminate\Database\Eloquent\Collection
$id mixed
$columns array
리턴 Illuminate\Database\Eloquent\Model | Illuminate\Database\Eloquent\Collection
 /**
  * Delete the model passed in
  * @param  int This is the id that needs to delete
  * @return boolean
  */
 public function delete($id)
 {
     try {
         $model = $this->model->findOrFail($id);
         $result = $model->delete();
     } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) {
         Message::error(pick_trans('exception.not_found', ['id' => $id]));
         return false;
     }
     return $result;
 }
예제 #2
0
 /**
  * @param $className
  * @param $parameters
  * @param null $objectId
  * @return ParseResponse
  * @throws \Exception
  */
 public function save($className, $parameters, $objectId = null)
 {
     $values = array();
     // if update, try to get the current object at first
     if ($objectId) {
         $this->object = $this->object->findOrFail($objectId);
     }
     foreach ($parameters as $key => $val) {
         if (in_array($key, $this->columns)) {
             if (is_array($val) && ($operation = array_get($val, '__op'))) {
                 switch ($operation) {
                     case "Increment":
                         $val = $this->object->{$key} ? $this->object->{$key} + $val['amount'] : $val['amount'];
                         break;
                     case "decrement":
                         $val = $this->object->{$key} - $val['amount'];
                         break;
                     case "Delete":
                         $val = null;
                         break;
                     case "Batch":
                         //                            $ops = $val['ops'];
                         //                            foreach ($ops as $ops_key => $ops_val) {
                         //                                if ($ops_val['__op'] == 'AddRelation') {
                         //                                    foreach ($ops_val['objects'] as $objects_key => $objects_val) {
                         //                                        $relation_type = $objects_val['__type'];
                         //                                        $relation_class_name = $objects_val['className'];
                         //                                        $relation_class_name = ParseHelperClass::removeUnderscoreFromClassName($relation_class_name);     // to remove '_' character if founded in the name of class _User
                         //                                        $relation_objectId = $objects_val['objectId'];
                         //                                        $relation_object = ParseHelperClass::createObject($relation_class_name);
                         //                                        $updatedAt = '';
                         //
                         //                                        if (!$relation_object) {
                         //                                            return ParseHelperClass::error_message_return('105');
                         //                                        }
                         //
                         //                                        $object->find($objectId)->$key()->sync([$relation_objectId], false);
                         //
                         //                                        $relation_data_of_object = $object::find(60)->$key()->where($relation_class_name . '_id',
                         //                                            '=', $relation_objectId)->get();
                         //
                         //                                        foreach ($relation_data_of_object as $relation_data) {
                         //                                            $updatedAt = $relation_data->pivot->createdAt;
                         //                                        }
                         //                                    }
                         //
                         //                                    return array(
                         //                                        "updatedAt" => Carbon::parse($updatedAt)->format('Y-m-d\TH:i:s.z\Z')
                         //                                    );
                         //                                }
                         //                            }
                         break;
                 }
             }
             $values[$key] = $val;
         } elseif (in_array($key, $this->relations)) {
             //
         } else {
             if ($key != "ACL") {
                 ParseHelper::throwException('210', $key);
             }
         }
     }
     $this->object->fill($values);
     try {
         $event = $this->object->getKey() ? 'update' : 'insert';
         \Event::fire("before.{$event}." . $this->object->getTable(), $this->object);
         $this->object->save();
         //create new object
         // now we can attach the relations
         foreach ($parameters as $key => $val) {
             if (in_array($key, $this->relations)) {
                 if ($operation = array_get($val, '__op')) {
                     switch ($operation) {
                         case "Delete":
                             $this->object->{$key}()->delete($val);
                             break;
                     }
                 } elseif ($this->object->{$key}() instanceof BelongsTo) {
                     $this->object->{$key}()->associate($val);
                 } elseif (!$this->object->{$key}() instanceof BelongsTo) {
                     $this->object->{$key}()->save($val);
                 } else {
                     ParseHelper::throwException(105);
                 }
             }
         }
         \Event::fire("after.{$event}." . $this->object->getTable(), $this->object);
     } catch (\Exception $ex) {
         ParseHelper::throwException(141, $ex->getMessage());
     }
 }
예제 #3
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $this->Model->findOrFail($id)->delete();
     return \Redirect::route($this->routeName . 'index');
 }