У меня в настоящее время есть две таблицы, businesses
и upgrades
. Таблица обновлений содержит business_id
, start_date
и end_date
.
Я хочу вернуть все компании, чтобы те, у которых есть активное обновление, были первыми в списке, а затем все предприятия, у которых нет обновления. Для компаний, у которых есть обновление, я бы хотел заказать их случайным образом, а для компаний, у которых их нет, я бы хотел заказать их по имени.
Отношения в моделях уже установлены.
Итак, примерно так:
Деловые круги :: groupBy ('если они обновлены) -> orderBy (' случайные, если обновлены, иначе называют asc ') -> get ();
Бизнес-модель:
public function upgrades()
{
return $this->hasMany(Upgrade::class);
}
Обновление модели:
public function businesses()
{
return $this->belongsto(Business::class);
}