क्या आप मुझे इसमें कुछ मदद दे सकते हैं? मैं इसे लार्वा 5.2 के लिए परिवर्तित करना चाहता हूं, और role_users कॉलम user_id और user_role के साथ तालिका भी जोड़ना चाहता हूं। कृपया क्या आप मेरी मदद कर सकते हैं?

$career_solutions_data = DB::select("
    SELECT 
    career_solutions.id, 
    career_solutions.subject, 
    career_solutions.date, 
    career_solutions.public, 
    career_solutions.views, 
    career_solutions.optional, 
    career_solutions.on_offer, 
    users.username, 
    users.profile_picture, 
    categories.category, 
    categories.category_url,
    categories.color, 
    career_solutions_categories.category as sub_category 

    FROM career_solutions 

    INNER JOIN categories 
        ON categories.id = career_solutions.topic_category_id 

    INNER JOIN career_solutions_categories 
        ON career_solutions_categories.id = career_solutions.topic_subcategory_id 

    INNER JOIN users 
        ON users.id = career_solutions.user_id 

    INNER JOIN privacy_settings 
        ON privacy_settings.user_id = users.id 

    WHERE users.deleted_at IS NULL 
    AND (
            (privacy_settings.career_solutions = 0 AND public = 1 ) 
            OR (users.id IN (

                SELECT contacts.contact_id 
                FROM contacts 
                WHERE contacts.user_id = $id
                )
            )
        ) 

    OR users.id = $id

    ORDER BY date desc limit 5000
");
-3
Andrei Nagy 11 जुलाई 2019, 16:09

1 उत्तर

सबसे बढ़िया उत्तर

मैं इस पर 100% निश्चित नहीं हूं, और यह संभवतः काम नहीं करता है।

लेकिन - यह आपको इस क्वेरी को सुवक्ता में पुनर्निर्माण पर एक अच्छा प्रारंभ बिंदु देगा।

ऐसा करने का शायद एक बेहतर तरीका है, लेकिन फिर से, यह शुरुआती बिंदु के लिए अधिक है। आपको वास्तव में वाक्पटु सीखने की कोशिश करनी चाहिए क्योंकि यह एक बहुत शक्तिशाली और धाराप्रवाह ओआरएम है। (यह टी-एसक्यूएल से बहुत बेहतर पढ़ता है!)

लेकिन यह वैसे भी इन पंक्तियों के साथ कुछ दिखाई देगा:

CareerSolutions::with(
    [
        'categories',
        'categories.career_solutions_categories',
        'users',
        'users.privacy_settings'
    ], function($query) {
        $query->where('users.privacy_settings.career_solutions', 0);
        $query->where('users.privacy_settings.public', 1);
        $query->orWhereIn('contacts.contact_id', function() {
            Contact::where('user_id', $id)->pluck('id');
        });
    }
)->orWhere('users.id', $id)->get();
1
stokoe0990 11 जुलाई 2019, 13:50