use Illuminate\Database\Eloquent\Model;
class Ad extends Model
{
public function scopeActive(Builder $query): void
{
$query->where('active', true);
}
}
use App\Models\Ad;
use App\Models\Repository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Spatie\ArtisanDispatchable\Jobs\ArtisanDispatchable;
class RandomizeAdsOnGitHubRepositoriesJob implements ShouldQueue, ArtisanDispatchable
{
public function handle()
{
$ads = Ad::active()->get();
Repository::adShouldBeRandomized()->each(function (Repository $repository) use ($ads) {
$repository->ad()->associate($ads->random());
$repository->save();
});
}
}
Additional resources on local scopes:
-
Povilas Korop | www.youtube.com
Published on
-
Povilas Korop | www.youtube.com
Published on
-
mostafalaravel | dev.to
Published on