در این کد، ما در حال ساختن یک query روی مدل User هستیم و از local scopeها و یک macro روی Builder استفاده میکنیم:
<?php
use App\Models\User;
use Illuminate\Database\Eloquent\Builder;
Builder::macro('activeEmails', function () {
return $this->whereNotNull('email_verified_at')
->where('active', true)
->pluck('email')
->toArray();
});
// در مدل User فرض کنید این scope تعریف شده:
// public function scopeAdmin(Builder $query)
// {
// return $query->where('role', 'admin');
// }
$query = User::query();
$admins = $query->admin();
$all = $query->get();
$emails = $admins->activeEmails();
var_dump($all->count(), $admins->count(), $emails);
خروجی نهایی اجرای این اسکریپت (خروجی دقیق
var_dump) چه خواهد بود؟🔖 #Laravel #PHP #لاراول
👤 Developix
💎 Channel: @DevelopixLaravel
