درحال بارگذاری

معرفی پکیج Eloquent HasManyDeep برای کار با الکوینت ها در لاراول

تاریخ: جمعه, 29 آذر 1398

نویسنده: مصطفی دربان حسینی... بازیدها: 475 - نظرات : 0 دسته بندی: برنامه نویسی


امروز قصد دارم تا یک پکیج مفید و کاربردی در رابطه با الکوینت ها (Eloquent) در لاراول را به شما دوستان عزیز معرفی کنم پس در ادامه با معرفی این پکیج همراه ما باشید.

خب اسم پکیجی که امروز قصد دارم به شما دوستان عزیز معرفی کنم Eloquent HasManyDeep است که امکانات رو در کا با الکوینت ها در اختیار ما قرار میده و میتونه بسیار مفید باشه. قبل هر چیز باید به این نکته اشاره کنم که این پکیج در اصل نسخه گسترش یافته ی پکیجی با نام Laravel Eloquent’s HasManyThrough است که امکان ارتباط با مدلهای نامحدود واسط (intermediate) رو فراهم میکنه. که تمام اینها شامل پشتیبانی از روابط many-to-many و روابط پلی مورفیک (polymorphic) یا بعبارتی چندشکلی هم میشه.

برای درک دلیل مفید بودن این پکیج بزارید یک نمونه مثال رو با هم بررسی کنیم. فرض بگیرید که شما یک سری تنظیمات دارید که می خواهید همه نظرات را برای همه ی پست ها ،که توسط کاربران یک کشور خاص ارسال شده اند را دریافت کنید. کدی که برای این کار استفاده می کنید ممکن است چیزی شبیه کد زیر باشد:

Country → hasMany → User → hasMany → Post → hasMany → Comment

همانطور که در کد بالا مشاهده می کنید منطق کد بالا ممکن است بسیار پیچیده شود و باعث افزایش پیچیدگی کد شما بشود. اما اگر شما از این پکیج استفاده کنید می توانید برای این گونه حالات از کد مثل کد زیر استفاده کنید که هم ساده به نسب ساده تر و هم قابل درک تر است. برای درک بهتر کد زیر را بررسی کنید:

class Country extends Model
{
    use \Staudenmeir\EloquentHasManyDeep\HasRelationships;

    public function comments()
    {
        return $this->hasManyDeep('App\Comment', ['App\User', 'App\Post']);
    }
}

هنگامی که شما دز مدل خود از این پکیج استفاده کنید (به شکل بالا) بدست آوردن نظرات کاربران یک کشور خاص کاری بسیار ساده تر خواهد شد و کد شما کدی خیلی  شبیه تر (familiar) به کدهای لاراول خواهد شد در نهایت به این منظور کافیست تا تنها کد زیر را اجرا کنید:

Country::first()->comments

سازنده این پکیج برای راهنمای بیشتر در رابطه با چگونگی استفاده از آن یک ویدیو را آماده کرده است که در زیر لینک یوتیوب آن را برای شما قرار داده ایم که در آینده ی نزدیک این ویدیو را به فارسی ترجمه خواهیم کرد و برای استفاده شما دوستان در سایت قرار خواهیم داد.

مشاهده فیلم راهنمای استفاده از پکیج Eloquent HasManyDeep

برای نصب این بسته کافیست کد زیر را در ترمینال خود اجرا کنید:

composer require staudenmeir/eloquent-has-many-deep

البته شما می توانید نسخه مربوط به لاراول خود را نیز نصب کنید. که برای مثال نسخه 1.7 برای لاراول 5.5 تا 5.7 و نسخه 1.8 برای لاراول 5.8 و نسخه 1.11 برای لاراول 6.x ارائه شده است:

composer require staudenmeir/eloquent-has-many-deep:"^1.11"

شما در تصویر زیر می توانید توضیحات مربوط به آخرین نسخه ،تعداد نصب ،لایسنس و... در گیت هاب این پروژه (تاز زمان تنظیم این مطلب) را مشاهده کنید:

در نهایت اگر شما به اطلاعت بیشتری در رابطه با این پکیج کاربردی ،راهنمای نصب ،راهنمای استفاده آن و.. دارید و یا می خواهید سورس کد آن را دانلود کنید می توانید به آدرس گیت هاب آن که در زیر برای شما دوستان قرار داده ایم مراجعه کنید:

آدرس گیت هاب پکیج Eloquent HasManyDeep

  نظر شما چیست؟ شما می توانید نظرات ،پیشنهادات و اطلاعات خود را در رابطه با این مطلب و موضوعات مربوط از طریق قسمت نظرات با ما و سایر بازدیدکنندگان در میان بگذارید.


نویسنده: مصطفی دربان حسینی... بازیدها: 475 - نظرات : 0 دسته بندی: برنامه نویسی

جستجو
کلاس برتر
ارائه دهنده بهترین و به روز ترین ویدیو های و مقالات آموزشی و همچنین مقالات مختلف در رابطه با تکنولوژی ،معماری ،مدیریت و سایر رشته های کاربردی.ما برای شما بهترین ها را میخواهیم.

سایر خدمات مجموعهخدمات زیر تحت مدیریت برد تخصصی ارائه می شود.
طراحی وب سایت
راه اندازی و پشتیبانی شبکه
هوشمند سازی منازل
افزایش کارایی نیرو انسانی
تعمیرات دستگاه های الکترونیکی
طراحی داخلی
تبلیغات فضای مجازی
برنامه نویسی