درود
توابع scope چه تفاوتی با توابع معمولی در لاراول دارن
برای چی از این نوع توابع استفاده میکنیم؟؟؟
احتیاجی به گفتن نیست در مستندات بشکل کامل توضیح داده
https://laravel.com/docs/5.0/eloquent#query-scopes
توابع شخصی سازی شدس در یه جورایی دیگه
مثلا شما به جای این که هر دفعه بیای بگی
این پست
statusش برابر با 1 هست پس حالا نشونش بده
میای یدونه اسکوپ مینویسی و استفاده میکنی
شما لینکی که اقای موشوی فرستاد رو ببینید مثالش رو
یه شرط گزاشته
نمیخاد هر دفعه اونو دیگه بنویسه
هنگام کار کردن با مدلها همیشه کار ما بسادگی استفاده از یه متد ()User::all نیست.
فرض کنیدکه میخواهیم لیست تمام کاربرانی که فعال هستند رو بگیریم. کدمون به این شکل میشه:
$activeUsers = User::where('active', 1)
->get();
حالا با استفاده از Scope در واقع کوئری where رو در یک متد داخل مدل تعریف میکنیم. بشکل زیر:
class User extends Model
{
public function scopeActive($query)
{
return $query->where('active', 1);
}
}
بعد با استفاده از متدی که نوشتیم کوئری رو میگیریم:
$activeUsers = User::active()
->get();
حالا میتونید چند اسکوپ داخل یه مدل تعریف کنید و با هم استفاده کنید:
$users = User::active()
->popular()
->type('admin')
->get();
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟