راکت
حل شده

مدل در لاراول

6 پاسخ

سلام خسته نباشید
دوستان در مدل های لاراول غیر از متد هایی که برای روابط مینویسیم دیدم یه سریا میان یه سری پراپرتی و متد دیگه مینویسن
چرا اینکارو میکنن دلیلش چیه ؟
آموزشی براش سراغ دارین ؟
@asp.gosk
@Nima.nori
@endworld
@Wolfy
@ehsndvr
@milwad
@mhyeganeh
@fakhraddin

arshia
arshia
@arshia.azrn
ثبت پرسش جدید

پاسخ‌ها

6
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

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

برای تغییر نام جدول مرتبط با مدل:

protected $table = 'my_flights';

برای تعریف یک PK کاستوم:

protected $primaryKey = 'flight_id';

برای غیرفعال کردن مکانیزم timestamp و فیلدهای created_at و updated_at:

public $timestamps = false;

برای cast کردن attribute ها:

protected $casts = [
    'is_admin' => 'boolean',
];

برای اضافه کردن scope و استفاده راحت تر موقع تعریف کوئری:

public function scopePopular($query) {
    return $query->where('votes', '>', 100);
}

و کلی چیزهای دیگه مثل Accessor ها و Mutator ها و ... که توضیحات کامل و مثال هاش رو اینجا می تونی بخونی:
https://laravel.com/docs/9.x/eloquent
https://laravel.com/docs/9.x/eloquent-mutators

میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
ببین خب مثلا برای محصولات هر بار میخوای بیای بزنی number_format تا مثلا سه تا سه تا رقم قیمت جدا کنه ولی میاد تو مدل میزاره
برای توضیح خیلی میشه حرف شد ولی مدل خیلی جاها کمکش میکنه که بدون دادن id و ... بتونی دسترسی داشته باشی

arshia
arshia
@arshia.azrn

درست متوجه نشدم رفیق
آموزشی برای اینکار سراغ داری ؟
@milwad

شاید پاسخ شما همین‌جا باشد

فخرالدین لنگی
فخرالدین لنگی
@fakhraddin

تخصص: برنامه نویس وب، آندروید و سیستم های کامپیوتری

@arshia.azrn
با سلام و وقت بخیر ضمن تبریک سال نو به همگی
دوست گرامی ما توی مدل ها به صورت معمول پنج تا ویژگی یا فانکشن داریم که البته بیشتر از این پنج مورده ولی متداول هاش اینا هر کدوم رو با ذکر مثالی بهش اشاره می کنم:

  1. یکی از ویژگی ها باعث تعریف یا تغییر توی ساختار جدول دیتابیس یا مدلمون می شن مثلا این مدل مربوط به کدوم جدوله table یا فلان ستون چه ساختاری داشته باشه casts یا این مدل چه ستون هایی داره fillable
  2. یکی سری این توابع باعث می شن که شما بتونی یک عملیاتی رو روی ورودی و خروجی انجام بدی و اون رو به صورت ویژه به یکی از ستون ها اختصاص بدی مثلا یک ستون دارم به اسم price و می خوام وقتی که می خوام خروجی بگیرم به صورت هزارگان جدا جدا نمایش بده
    get[CellName]Attribute یا set[CellName]Attribute
  3. یک سری از این توابع باعث می شن که از تکرار یا طولانی شدن کد جلوگیری بشه مثل scope که ممکنه شما یک سری شروط داشته باشی که تقریبا چندجا تکرار شده به جای اینکه همون شروط تکراری رو چند جا کپی کنید راحت یک اسکوپ می نویسید و توی بقیه قسمت ها فقط اسکوپ و پارامتر براش ارسال می کنید
  4. یک سری از این توابع برای برقراری روابط بین مدل هاست حالا روابع یک به یک، یک به چند، چند با چند و ... مثلا belongsTo
  5. در نهایت یک سری توایع هستن که شما خودتون می نویسید و برای خلاصه نویسی یا خوانایی بالاتر کد یا از همه مهمتر تکرار بیش از اندازه کد می نویسید
    بازم نکته یا بخشی گنگ یا نامفهوم بود بفرمایید که بیشتر توضیح بدم
میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
ببین دوره هنوز من چیزی ندیدم چون خودم دو ساله که دوره نمیبینم
مفهموم که سادس بعضی از کار هارو میبرن تو مدل دلیلش اینکه مثلا توی لیست محصولات میخوان برای وضعیت هایی که تایید هستن رنگ سبز داشته باشه برای برای تایید نشده از رنگ قرمز استفاده کنن برای اینکار از مدل استفاده میکنن
@arshia.azrn

arshia
arshia
@arshia.azrn

@mhyeganeh
ممنون اقای یگانه اون تیکه اخر که برای scope مثال زدین به چیزی که دنبالشم بیشتر نزدیک بود 🌹

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام