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

معرفی متدد withPivot

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

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

ثبت پرسش جدید
علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat5 سال پیشمطرح شد
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
Muhammad
تخصص :Back-End Developer
@muhammad5 سال پیشمطرح شد
0

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

$model->pivot->column_name

می‌گیریم.


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza665 سال پیشمطرح شد
0

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


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

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


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat5 سال پیشمطرح شد
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);

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

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