Find a model by its primary key or throw an exception.
public findOrFail ( mixed $id, array $columns = ['*'] ) : |
||
$id | mixed | |
$columns | array | |
return |
/** * Find a model by its primary key or throw an exception. * * @param mixed $id * @param array $columns * @return \Illuminate\Database\Eloquent\Model * * @throws \Illuminate\Database\Eloquent\ModelNotFoundException */ public function findOrFail($id, $columns = ['*']) { // Try-catch block to have the exception thrown from the repository instead of the model. try { $results = $this->model->findOrFail($id, $columns); $this->reset(); if ($results = $this->hookFindOrFail($results)) { return $results; } } catch (ModelNotFoundException $e) { } throw (new ModelNotFoundException())->setModel(static::$modelClass); }
/** * @param int $id * @param Request $request * * @throws \Illuminate\Database\Eloquent\ModelNotFoundException * * @return \Illuminate\Http\RedirectResponse */ public function putCategoryParent(int $id, Request $request) { /** @var Category $category */ $category = $this->category->findOrFail($id); if ((int) $request->get('parent-id') === -1) { $category->makeRoot(); $this->webUi->successMessage("Made `{$category->name}` a root-level category."); return $this->webUi->redirect('categories.index'); } /** @var Category $parent */ $parent = $this->category->findOrFail($request->get('parent-id')); $category->makeChildOf($parent); $this->webUi->successMessage("Made `{$category->name}` a child of `{$parent->name}`."); return $this->webUi->redirect('categories.index'); }
/** * Find a model by its primary key or throw an exception. * * @param mixed $id * @param array $columns * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection * @throws \Illuminate\Database\Eloquent\ModelNotFoundException * @static */ public static function findOrFail($id, $columns = array()) { return \Illuminate\Database\Eloquent\Builder::findOrFail($id, $columns); }
/** * Find data by id * * @param $id * @param array $columns * @return mixed|Model */ public function find($id, $columns = ['*']) { return $this->wrap(function ($id, $columns = ['*']) { return $this->model->findOrFail($id, $columns); }, new Action(__METHOD__, func_get_args(), Action::READ)); }
/** * Get the specified model record from the database * * @param $id * * @return \Illuminate\Database\Eloquent\Model */ public function find($id) { $this->unsetClauses(); $this->newQuery()->eagerLoad(); return $this->query->findOrFail($id); }
/** * @param $id * @return \Illuminate\Database\Eloquent\Collection|Model */ public function findOrFail($id) { return $this->query->findOrFail($id); }
/** * @param Builder $query * @param int|string|AbstractModel $item * * @return AbstractModel */ protected function findFromQuery($query, $item) { $columns = ['*']; // If we have an instance already, return it if ($item instanceof Model) { return $item; } if ($this->items instanceof BelongsToMany) { $columns = [$this->items->getRelated()->getTable() . '.*']; } // Find by slug if (!is_array($item)) { if (!preg_match('/^[0-9]+$/', (string) $item) && $this->getModelInstance()->hasTrait('Cviebrock\\EloquentSluggable\\SluggableTrait')) { return $query->whereSlug($item)->firstOrFail(); } } return $query->findOrFail($item, $columns); }