Collection of useful Laravel model traits to retrieve random model and add OrderBy functionality.
use Rukhsar\AddonTraits\OrderByTrait;
class User extends Model
{
use OrderByTrait;
protected $default_order_by = 'name';
protected $default_order_direction = 'asc';
}
$users = App\User::Order()->get();
Laravel package for getting a random model from database.
use Rukhsar\AddonTraits\RandomModelTrait;
class User extends Model
{
use RandomModelTrait;
}
$randomUser = User::random()->first();
$randomUserWithRelation = User::random()->with('relation_name')->first();
// Static methods which return an instance
$user = User::getRandom(); // return instance or null
$user = User::getRandomOrFail(); // return instance or throw exception