У меня есть модель подписки, которая содержит атрибуты start_date и end_date в моем приложении Laravel. Я создал две области запроса,scopeActive иscopeFuture, чтобы найти активные и будущие подписки (соответственно).
Мне хотелось бы знать, как построить запрос, используя обе области в контексте OR, чтобы я мог найти любые активные или будущие подписки.
Модель подписки
/**
* Scope a query to only include active subscriptions.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeActive($query)
{
return $query->where('start_date', '', Carbon::now());
}
/**
* Scope a query to only include future subscriptions.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeFuture($query)
{
return $query->where('start_date', '>', Carbon::now());
}
public function business()
{
return $this->belongsTo('App\Business');
}
Бизнес-модель
.....
public function subscriptions()
{
return $this->hasMany('App\Subscription');
}
Модель пользователя
public function business()
{
return $this->hasOne('App\Business');
}
Контроллер
Subscription::active()->get();
Подробнее здесь: https://stackoverflow.com/questions/440 ... or-context