Вы можете использовать глобальную область действия в своем объявлении, как этот, чтобы фильтровать только активные объявления. (это отфильтрует рекламные сообщения во всех красноречивых запросах)
Модель рекламного объявления:
namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
class Adv extends Model
{
/**
* The "booting" method of the model.
*
* @return void
*/
protected static function boot()
{
parent::boot();
static::addGlobalScope('aktiv', function (Builder $builder) {
$builder->where('aktiv', '=', true);
});
}
}
А затем используйте модель отношений в регионе
namespace App\Models;
use Eloquent;
class Region extends Eloquent
{
public function adv()
{
return $this->hasMany('App\Models\Adv');
}
}
И получите результаты в вашем контроллере:
$region = Region::has('adv')->get();