diff --git a/src/Illuminate/Database/Eloquent/Builder.php b/src/Illuminate/Database/Eloquent/Builder.php index 9cb9c2e22b91..7fa9ca6a919a 100755 --- a/src/Illuminate/Database/Eloquent/Builder.php +++ b/src/Illuminate/Database/Eloquent/Builder.php @@ -477,6 +477,24 @@ public function find($id, $columns = ['*']) return $this->whereKey($id)->first($columns); } + /** + * Retrieve one or more random model instances. + * + * @param int $count + * @param array $columns + * @return \Illuminate\Database\Eloquent\Model|null|\Illuminate\Database\Eloquent\Collection + */ + public function findRandom(int $count = 1, array $columns = ['*']) + { + if ($count < 1) { + return $this->newModelInstance()->newCollection(); + } + + return $count === 1 + ? $this->inRandomOrder()->first($columns) + : $this->inRandomOrder()->limit($count)->get($columns); + } + /** * Find a sole model by its primary key. *