سبد خرید شما در حال حاضر خالی است!
برنامه نویس وقتی با eloquent از یک جدول لیستی یا رکوردی رو میگرفته، علاوه بر ستون های اون جدول، به چندتا property اضافه هم نیاز داشته که با استفاده از مقادیر ستون های اون رکورد تولید کنه. مثلا فرض کنید ما توی جدولمون تاریخ تولد کاربر رو ذخیره می کنیم و علاوه بر تاریخ تولد نیاز داریم سن کاربر هم برگردونیم.
حالا توی این پروژه که همچنین نیازمندی وجود داشت، اومده بودن یه mapper انداخته بودن توی لیست گرفته شده از دیتابیس و اون propertyهای اضافه رو به ازای هر رکورد ساخته بودن. خب این کار باعث میشه ما هم اصل DRY (Don’t Repeat Yourself) رو رعایت نکنیم و هم اینکه به خاطر ساختن یک property ساده باید داخل جاهایی که لیست داریم، یه حلقه بنویسیم و طبعا باعث کندتر شدن سرویسی که نوشتیم میشه. حالا راه حلی که Laravel در نظر گرفته ویژگی append داخل Model هستش. یعنی توی آرایه append کلیدهای اضافه ای که باید برگردونده بشن رو تعریف میکنیم و داخل متدی به فرمت نام get+{appendName}+Attribute مشخص میکنیم که اون property اضافه به شکل ساخته بشه. با این کار هر موقع که لیستی یا یک رکورد مشخص از جدولمون به واسطه Model دریافت میشه، به صورت اتوماتیک appendها هم به عنوان کلید جز propertyها هستن.
#laravel
#php