جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
webazin webazin
4 سال پیش توسط webazin webazin مطرح شد
0 پاسخ

مشکل در رابطه hasManyThrough

سلام دوستان؛خسته نباشید،من میخواستم از این رابطه واسه پرداختی های سفارشات فروشگاه استفاده کنم،به این شکل که رابطه فروشگاه با سفارشات

public function orders() {
        return $this->belongsToMany( Order::class , 'order_shop' );
    }

و رابطه رابطه سفارشات با پرداختی ها به این شکل

public function pay() {
        return $this->hasOne( Pay::class , 'order_id' , 'id' );
    }

حالا من اومدم توی مدل shop این رابطه رو تعریف کردم

public function payOrders() {
        return $this->hasManyThrough( Pay::class , Order::class , 'shop_id' , 'order_id' );
    }

واسه تست اومدم از دو راه استفاده کردم یکی اینکه

$orderIds = $shop->orders->pluck('id');
        $orderPays = Pay::whereIn( 'order_id' , $orderIds )->get();
        $orderPays1 = $shop->payOrders()->get();

که اولی 85 نتیجه رو برمیکردونه و دومی 45 نتیجه رو،ینی مشکل از inner join هست؟ممنون میشم کمک کنید


ثبت پرسش جدید

به همدیگه کمک کنیم

به webazin webazin کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

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

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