Аналитика Telegram-канала
Подписчики
1 540
Охват за 24 ч
169
ER за 24 ч
10,97%
Публикаций
44
Динамика подписчиков
7 дней
30 дней
6 месяцев
Больше
26 окт29 окт1 ноя
Показаны последние 7 дней
Больше истории →
Охваты публикаций
10.1015.1021.1023.1024.1025.10
32
Средний охват
64
Лучший результат
Показаны 6 публикаций — последние в канале
Больше статистики →
Упоминания
2
Упоминаний
2
Из них репостов
2
Каналов
15
Упоминаний
4
Из них репостов
5
Каналов
Последние посты
3 из 44 2 из 44شکار کوئریهای اضافه در لاراول 🔎
صفحهٔ فهرست مقالهها درست کار میکند، اما با زیادشدن دادهها کند میشود. یکی از متهمهای همیشگی، مشکل N+1 است: مقالهها با یک کوئری میآیند، ولی دسترسی به نویسندهٔ هر مقاله، کوئری تازهای اجرا میکند.
مثلاً وقتی داخل حلقهٔ Blade از $post->author->name استفاده میکنی، اگر رابطه از قبل بارگذاری نشده باشد، Eloquent آن را همان لحظه از دیتابیس میخواند. برای ۵۰ مقاله، ممکن است ۵۱ کوئری اجرا شود!
🛠 مشکل را موقع توسعه آشکار کن
در فایل app/Providers/AppServiceProvider.php، این تنظیم را به متد boot اضافه کن. اگر متد از قبل کد دارد، فقط خط تنظیم را به آن اضافه کن؛ متد تکراری نساز.
use Illuminate\Database\Eloquent\Model;
public function boot(): void
{
Model::preventLazyLoading(
! $this->app->isProduction()
);
}
حالا در محیط غیر production، دسترسی به رابطهای که از قبل بارگذاری نشده، بهطور پیشفرض خطای LazyLoadingViolationException ایجاد میکند؛ یعنی مشکل بهجای پنهانشدن تا روز انتشار، هنگام توسعه دیده میشود.
⚡ راه اصلاح چیست؟
در کوئری کنترلر، رابطه را با Eager Loading بگیر: Post::with('author')->get()؛ البته به شرطی که مدل تو رابطهٔ author داشته باشد. در حالت معمولِ رابطهٔ belongsTo، مقالهها و نویسندههایشان با دو کوئری دریافت میشوند، نه یک کوئری برای هر ردیف.
نکتهٔ مهم: این تنظیم خودش کوئریها را بهینه نمیکند؛ فقط دسترسی ناخواسته به رابطه را آشکار میکند. رابطههایی را بارگذاری کن که واقعاً در خروجی لازماند، نه همهٔ رابطههای مدل را.
📚 مستندات رسمی لاراول
این تنظیم کوچک را روی یک صفحهٔ فهرست امتحان کن؛ نقطهٔ شروع خوبی برای پیدا کردن کوئریهای پنهان است. 🌱
🔖 #Laravel #PHP #لاراول #Laravel #Eloquent #N+1 #Eager_Loading
👤 Developix
💎 Channel: @DevelopixLaravel
ещё
7
0
25 окт, 20:00
روابط پایگاه داده یک به چند یا Eloquent on of many در لاراول - قسمت اول
در بخش اول این آموزش، به بررسی و پیادهسازی رابطه One of Many در ORM الکوئنت لاراول میپردازیم. این رابطه که حالتی پیشرفته و کاربردی از روابط یک به چند است، به شما امکان میدهد تا تنها به یک رکورد خاص از میان رکوردهای مرتبط دسترسی پیدا کنید؛ مثل پیدا کردن آخرین سفارش یک مشتری یا گرانترین محصول یک دستهبندی. در این ویدیو با سینتکس و کاربردهای عملی این ابزار قدرتمند به صورت گام به گام آشنا میشوید.
https://www.aparat.com/v/mnmiwr5
🔖 #Laravel #PHP #لاراول
👤 ابوالفضل
💎 Channel: @DevelopixLaravel
ещё
48
0
24 окт, 21:30
حفاظت از پردازش ها با Laravel Rate Limiter بخش پنجم - تغییر زمان انقضا
در پنجمین بخش از مجموعه آموزشی حفاظت از پردازش ها با لاراول ریت لیمیتر، به سراغ نحوه تغییر و شخصی سازی زمان انقضا و محدودیت درخواست ها می رویم. در این ویدیو یاد می گیرید چگونه زمان بازنشانی و انقضای محدودیت ها را در پروژه های لاراول مدیریت کنید تا امنیت و پایداری سرور و اپلیکیشن خود را بهبود ببخشید. این مبحث برای توسعه دهندگان وب بسیار کاربردی است.
https://www.aparat.com/v/jbb76v2
🔖 #Laravel #PHP #لاراول
👤 ابوالفضل
💎 Channel: @DevelopixLaravel
ещё
64
0
23 окт, 19:30
Продолжить анализ этого канала
- История роста подписчиков
- Просмотры и охваты публикаций
- Кто упоминает канал и кого упоминает он
- Похожие каналы и подбор для рекламы
Открыть аналитику
Демо до 14 дней