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

روابط در دیتابیش

با سلام چطور میشه برای روابط شرط گذاشت؟مثلا بگی که هر کار کاربری که فیلد فروشندگیش ۱ بود چند تا محصول داره؟


ثبت پرسش جدید
saman
@saman1111 4 سال پیش آپدیت شد
0

سلام
با where

Users::where('field',1)->get();

اینطوری


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

یکی از روش هاش این هست که شما ابتدا با استفاده از where بیاید لیست کاربرها رو مطابق با شرطتون بگیرید و بعد مثلا با یک حلقه نتیجه مورد نیازتون رو در قالب یک آرایه تولید کنید. مثلا اینجوری:

$result = [];
$sellers = User::user->where('is_seller', 1)->get();
foreach($sellers as $seller) {
    $result [] = [
        'seller' => $seller,
        'products_count' => $seller->products()->count()
    ];
}

و یک روش شاید بهتر استفاده از conditional clauses در کوئری بیلدر هست. یعنی اینکه از دستور when() استفاده کنید و در آرگومان اول میاید یک شرط میذارید و اگر true بود تعداد محصولات اون فروشنده رو بر می‌گردونید. توضیحات و مثال بیشتر در لینک زیر از مستندات لاراول خدمت شما:
https://laravel.com/docs/7.x/queries#conditional-clauses


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

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