ORM Eloquent چیست؟
یک روش مدرن برای مدیریت کردن اطلاعات که در روشهای سنتی برای دسترسی پیدا کردن به اطلاعات در پایگاه دادهها مثل MySQL برای نوشتن این اطلاعات باید از کدهایی که SQL درخواست میکند استفاده شود به عبارتی این روش به برنامه نویسان اجازه را میدهد که عمل Qyery از سمت برنامه انجام شود که دادهها بدون اتصال مستقیم به دیتابیس متصل شوند که این روش در قدیم حتما باید کدهای SQL نوشته میشد اما با استفاده از ORM دیگر لازم نیست که حتما کدها به روش اس کیو ال نوشته شوند اگر فقط با نحوه دستورات آشنا هستید، شما به راحتی میتوانید از ORM استفاده و دادهها را از دیتابیس دریافت کنید. همانند یک مترجم بین برنامه نویسی و پایگاه داده ارتباط برقرار کرده که این دو را پایگاه داده و زبان برنامه نویسی را به هم دیگر تبدیل میکند که orm باعث شده برنامه نویسان هنگام کار کردن با کدهای پیچیده سر و کله زیادی نزنند و فقط با اجرای یک دستور میتوانند اطلاعات مربوط به یک موضوع را دریافت کنند که با orm شما میتوانید فقط با چند قطعه کد کوتاه یک کوئری را بدون دانش اولیه پایگاه داده ایجاد کنید ویژگی که orm دارد پشتیبانی کردن از دیتابیسهای پیچیده است.
ORM Eloquent چیست؟
مزایای استفاده از orm
- کوتاه شدن کدها.
- سادهتر شدن کدها.
- نیاز نیست حتما کدهای SQL را یاد بگیرید.
- کارها به صورت خودکار انجام میشود و نیاز نیست شما کار خاصی را انجام دهید.
- با انجام یک متد ساده میتوانید کوئری ایجاد نمایید.
- کدنویسی در این برنامه بر پایه PHP و MVC است.
معایب استفاده از Orm
- نمیتوان از آنها در دادههای بزرگ و پیچیده استفاده کرد.
- برخی از کوئریها بسیار زمان بر هستند و باید زمان زیادی را به کار با آن بپردازید.
- برای استفاده از آن به منابع زیادی احتیاج دارید.
Orm دارای کتابخانههای بسیار زیادی است که برای راحتی کار برنامه نویسان و کسانی که با پایگاه دادهها کار میکنند ایجاد شده است و عملکرد هر کدام از این کتابخانهها متفاوت است و ما سعی داریم در این مقاله شما را با کتابخانه Eloquent و نحوه کارکردن آن آشنا کنیم:
پیشنهاد نویسنده: کاربرد ORM در برنامه نویسی
Eloquent چیست؟
از این کتابخانه در زبان php استفاده میشود که در فریمورک Laravel موجود است این ابزار بیشتر برای پیاده سازی ساده در پایگاه داده به کار برده میشود که ایلوکوئنت برای پیاده سازی هر جدول پایگاه داده دارای یک مدل است که برنامه نویسان برای ارتباط برقرار کردن بین یک برنامه و دیتابیس همیشه با مشکلاتی روبرو میشدند که ساعت باید درگیر بر طرف کردن آن مشکل میشدند تا بفهمند در کجای کدنویسی یا پایگاه داده اشتباه کردهاند اما با استفاده از Eloquent توانستند به راحتی بین دیتابیس و هر برنامه دیگری ارتباط برقرار کنند که تنها فقط چند ثانیه وقت آنها را میگیرد.
نحوه کار کردن با Eloquent
برای شروع کار ابتدا باید یک مدل ایلوکوئنت بسازید مدلها در این کتابخانه در دایرکتوری برنامه قرار میگیرند و شما میتوانید آنها را در جایی که امکان بارگذاری خودکار وجود دارد قرار دهید و حتی میتوانید از طریق فایل Composer.json آنها را بررسی کنید و تمام مدلهای این کتابخانه قابلیت ارثبری دارند که با استفاده از دستور Make:mode1 میتوانید یک مدل Eloquent ایجاد کنید. برای اتصال دادن نام پایگاه داده با مدل شما میتوانید از خصوصیت Connection برای مقداردهی استفاده کنید که نام کلاسها به صورت پیشفرض انگلیسی است؛ اما برنامه نویس خودش میتواند آن را عوض نماید و بر روی مدل تعریف کند، همچنین بعد از تعریف مدرن شما میتوانید در جدول خود رکورد ایجاد کنید که در تمام جدولها دو ستون وجود دارد که اگر نمیخواهید این ستونها را مدیریت کنید میتوانید آنها را غیر فعال یا مقدار false را روی آنها اعمال نمایید.
ویژگی Eloquent
- در این کتابخانه میتوان از توابع تجمعی استفاده کرد.
- امنیت بالایی دارد و درصد هک شدن پایگاه داده در آن بسیار پایین است.
- در فعالیتهای پیچیده بازدهی بسیار عالی و بالایی دارد.
- حجم زیادی از دستورها را میتواند مدیریت کند.
- به وسیله کلید اصلی جداول میتوان مدلها را بازیابی کرد.
- میتوان مشخص کرد که اتصال هر پرسو جو چگونه انجام شده است.
- انتصاب کلی شمال یک مدل جدید ایجاد میکنید مجموعهای از خصوصیتهای آن را به من موتور سازنده ارسال میکنید با استفاده از خصوصیت انتصاب کلی کار شما راحت و سادهتر میشود.
- به خصوصیتها میتوان مقدار داد.
به طور کلی این کتابخانه دارای ویژگیهای زیادی است که کار را برای برنامه نویسان بسیار راحت و ساده کرده است و از اتلاف زمان آنها که ساعتها بخواند درگیر وصل کردن دیتابیس و برنامه هستند، جلوگیری کرده است.
انواع ارتباطات در Eloquent
قطعاً هر برنامهای دارای تعدادی جدول است برخی از این جداول با یک دیگر در ارتباط هستند و نوع مرتبط شدن این جدولها با هم متفاوت است که این رابطهها از جداول پشتیبانی میکنند و عملکرد هر کدام از این رابطهها بسته به نوع جدول با یکدیگر فرق دارند:
- ارتباط یک طرفه.
- ارتباط یک به چند ینی یک جدول میتواند با چند جدول همزمان مرتبط شود.
- ارتباط چند گانه.
- ارتباط به وسیله چندین واسطه.
- ارتباطهای پلی مرفیک.
- ارتباط چند گانه پلی مرفیک.
در Eloquent چه پایگاه دادههایی را میتوان در سیستم خود پیاده سازی کرد:
- MySQL
- Postgres
- SQLite
- SQL Server
پیشنهاد نویسنده: دانلود کتاب رایگان پایگاه دادهی پیشرفته
جمع بندی
این کتابخانه بسیار مورد استفاده برنامه نویسان قرار گرفته زیرا کار آنها را بسیار راحت کرده و دیگر نگران این که برنامه و پایگاه داده به هم متصل نمیشوند را ندارند ایلوکوئنت به دلیل متنباز بودنش مورد استقبال افراد زیادی قرار گرفته به دلیل این که تنها با چند قطعه کد کوتاه و ساده میتوانند کار خود را انجام دهند که زمان آنها دیگر هدر نمیرود پس اگر شما هم برنامه نویسی میکنید و با جداول و پایگاه دادهها در ارتباط هستید به شما پیشنهاد میکنیم که حتما از Eluquent استفاده کنید.
تجربیات کار خود را با این تکنولوژی در بخش نظرات همین نوشته بنویسید.



















آیا برای یادگیری ORM لازمه اول SQL رو کامل بلد باشیم؟
خیر، برای شروع یادگیری ORM نیازی نیست که حتماً SQL را به طور کامل بلد باشید. ORMها به گونهای طراحی شدهاند که بتوانید بدون نیاز به نوشتن مستقیم کدهای SQL، با پایگاه داده تعامل داشته باشید
آیا ORM برای همه نوع دیتابیس جواب میده یا محدودیت داره؟
ORM ها از دیتابیسهای رایج مانند MySQL، PostgreSQL، SQLite و SQL Server پشتیبانی میکنند، اما برای دیتابیسهای بسیار خاص یا قدیمی ممکن است محدودیتهایی وجود داشته باشد.
یاد گرفتن Eloquent برای کسی که تازه لاراول رو شروع کرده سخته؟
یادگیری Eloquent در ابتدای کار با لاراول ممکن است کمی چالشبرانگیز باشد، اما با تمرین و مطالعه مستمر، به سرعت به آن مسلط خواهید شد.
استفاده از ORM همیشه سرعت کار رو بالا میبره؟
استفاده از ORM مانند Eloquent میتواند سرعت توسعه را به طور قابل توجهی افزایش دهد، اما در برخی موارد پیچیده، ممکن است نیاز به بهینهسازی بیشتری داشته باشد.
چرا بیشتر برنامهنویسها به جای SQL مستقیم از Eloquent استفاده میکنن؟
استفاده از Eloquent باعث کوتاهتر و خواناتر شدن کدها میشود و نیاز به یادگیری مستقیم SQL را از بین میبرد، که این امر سرعت توسعه را افزایش میدهد.