مرجع تخصصی برنامه نویسان

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

کاربر سایت

aliMohammadzadeh

عضویت از 1399/05/06

گزاشتن لیمیت رو where

  • دوشنبه 6 مرداد 1399
  • 13:24
تشکر میکنم

من شرطی دارم به این صورت

$data1 = DB::table('members_days')
            ->select('id')  ->orderBy('count', 'ASC')
            ->orWhere(function($query)
            {
                $query->where('gender', Members::GENDER_FEMALE)
                ->where('Monday', 'M');
            })->orWhere(function($query)
            {
                $query->where('gender', Members::GENDER_MALE)
                    ->where('Monday', 'M');
            })
            ->orWhere(function($query)
            {
                $query->where('gender', Members::GENDER_FEMALE)
                    ->where('Monday', 'E');
            })
            ->get();

میخوام حالتی بشه که بگم مثلا از شرط اولیه دوتا ممبر رو لیمیت کن و از شرط دومیه ۱ ممبر رو لیمیت کن و از شرط سومیه ۵ تا .
لیمیت میزارم جواب نمیده . و لیمیت رو کل هم نه و میخوام هر شرطی لیمیت خودش رو داشته باشه .

کسی میدونه باید به چه صورت عمل کرد؟؟

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

aliMohammadzadeh

عضویت از 1399/05/06

  • دوشنبه 6 مرداد 1399
  • 16:54

مشکل رو حل کردم با استفاده از union  

نمونه کد  Query Builder

  $MFemaleMember = DB::table('members_days')
            ->select('id')
            ->where('gender', Members::GENDER_FEMALE)
            ->where($weekDay, 'M')
            ->orderBy('count', 'ASC')
            ->limit($MFemale);

        $MMaleMember = DB::table('members_days')
            ->select('id')
            ->where('gender', Members::GENDER_MALE)
            ->where($weekDay, 'M')
            ->orderBy('count', 'ASC')
            ->limit($MMale);

    $LMaleMember = DB::table('members_days')
            ->select('id')
            ->where('gender', Members::GENDER_MALE)
            ->where($weekDay, 'L')
            ->orderBy('count', 'ASC')
            ->limit($LMale)
            ->unionAll($MFemaleMember)
            ->unionAll($MMaleMember)
        ->get();

نمونه کد Model

 $b = Model::where('code', '=', $code)->where('col_b', '=' , 1)
            ->limit(3)
            ->union(
                Model::where('code', '=', $code)->where('col_a', '=' , 1)->limit(3);
         )
        ->get();

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)