Forwarded from Pishro App
تو این نسخه، یه ویژگی جدید به نام رابطه "inverse/chaperone" توی Eloquent معرفی شد.
فرض کنید شما یک مدل پست (Post) و یک مدل کامنت (Comment) دارید. رابطه بین این دو مدل به این صورته که هر پست میتونه چندین کامنت داشته باشه.
توی لاراول، معمولاً این رابطه را بصورت زیر تعریف میکنیم:
public function comments(): HasMany
{
return $this->hasMany(Comment::class);
}
حالا با این قابلیت جدید chaperone()، میشه رابطه را اینطور بنویسیم:
public function comments(): HasMany
{
return $this->hasMany(Comment::class)->chaperone('post');
}
با استفاده از chaperone('post')، لاراول بهطور خودکار اطمینان پیدا میکنه که وقتی رابطه کامنتها از دیتابیس لود میشه، هر کامنت به درستی به مدل پست اصلیاش لینک شده باشه.
این کار باعث میشه که کوئریهای اضافه (N+1 Queries) ایجاد نشه و سرعت و کارایی برنامه بهبود پیدا میکنه.
مزایای این متد:
جلوگیری از کوئریهای اضافی (N+1)
لینک خودکار مدل فرزند به مدل والد
حفظ صحیح محدودیتها (Scopes)
#laravel
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
🔶 افزایش سرعت وردپرس با مرتب سازی دیتابیس MySQL
این افزونه با افزودن کلیدهای با کارایی بالا به جداولی که انتخاب میکنید، باعث میشود پایگاه داده MySQL شما کارآمدتر کار کند.
https://wordpress.org/plugins/index-wp-mysql-for-speed/
#وردپرس
@TheRaymondDev
این افزونه با افزودن کلیدهای با کارایی بالا به جداولی که انتخاب میکنید، باعث میشود پایگاه داده MySQL شما کارآمدتر کار کند.
https://wordpress.org/plugins/index-wp-mysql-for-speed/
#وردپرس
@TheRaymondDev
WordPress.org
Index WP MySQL For Speed
Speed up your WordPress site by adding high-performance keys (database indexes) to your MariaDB / MySQL database tables.
👍1