ftp
4 سال پیش توسط ftp مطرح شد
4 پاسخ

معرفی متدد withPivot

@mohaligateway
@muhammad
@ali.bayat
@Rp76
کاربرد این متددwithpivot چیست

return $this->belongsToMany('Establishment')->withPivot('start', 'stop', 'study_level_id')->withTimestamps();

ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
4

روابط چند به چند به یه جدول میانی یا pivot table نیاز دارند
مثلا اگر مدلهای Post و Tag رو داشته باشیم، نهایتا به یه جدول pos_tag هم نیاز داریم، که به صورت پیشفرض ۲ فیلد post_id و tag_id درش ذخیره میشه

حالا مواقعی پیش میاد که نیاز داری به جز این ۲ تا فیلد، فیلد های دیگه رو هم در pivot ذخیره کنی
در این شرایط از متد withPivot استفاده میکنند
مثلا توی کدی که گذاشتی با استفاده از این متد حالا فیلدهای start, stop و study_level_id هم مقدار دهی میشند

پس در حین استفاده از این رابطه باید آن فیلد هارو هم پاس داد

$pivotAdditionals = [
    'start' => '',
    'stop' => '',
    'study_level_id' => '',
];
$model->relation()->attach($relationId, $pivotAdditionals);

Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

وقتی در Pivot Table ستون‌های دیگری داشته باشیم و بخواییم ازشون استفاده کنیم، با withPivot معرفی می‌کنیم و بعدا از

$model->pivot->column_name

می‌گیریم.


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

به نظرم داره به جدول واسط اشاره میکنه و میگه فیلدهای start و stop رو از جدول واسط بگیر براساس فیلد آیدی study_level_id


Saman
تخصص : برنامه نویس وب
@samanzdev 4 سال پیش مطرح شد
1

سلام
می توانید برای کسب اطلاعات به لینک زیر برید
https://laravel.com/docs/8.x/eloquent-relationships
@ftp


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
4

روابط چند به چند به یه جدول میانی یا pivot table نیاز دارند
مثلا اگر مدلهای Post و Tag رو داشته باشیم، نهایتا به یه جدول pos_tag هم نیاز داریم، که به صورت پیشفرض ۲ فیلد post_id و tag_id درش ذخیره میشه

حالا مواقعی پیش میاد که نیاز داری به جز این ۲ تا فیلد، فیلد های دیگه رو هم در pivot ذخیره کنی
در این شرایط از متد withPivot استفاده میکنند
مثلا توی کدی که گذاشتی با استفاده از این متد حالا فیلدهای start, stop و study_level_id هم مقدار دهی میشند

پس در حین استفاده از این رابطه باید آن فیلد هارو هم پاس داد

$pivotAdditionals = [
    'start' => '',
    'stop' => '',
    'study_level_id' => '',
];
$model->relation()->attach($relationId, $pivotAdditionals);

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

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