/ / Laravel5 एलोक्वेंट, जहां क्लॉज़ - php, mysql, laravel, laravel-5, एलोकेंट के साथ कई टेबल से चयन

Laravel5 Eloquent कई टेबल से चुनें जहां क्लॉज - php, mysql, laravel, laravel-5, eloquent

Laravel Eloquent में यह क्वेरी कैसे करें?

SELECT * FROM `ftm_users`, `ftm_students`, `ftm_user_verification` WHERE `ftm_users`.`user_group` = 3 AND `ftm_user_verification`.`verification_status` = 1 AND `ftm_users`.`uid` = `ftm_students`.`uid` AND `ftm_users`.`uid` = `ftm_user_verification`.`uid`

मैंने पहले से ही मॉडल में संबंध स्थापित किया है और मैंने इसके साथ प्रयास किया है

$userStudent = User::where("user_group", "=", 3)->with(array("userVerification" => function($query) {
$query->where("verification_status", "=", 1);
}, "student", "studentParents"))->simplePaginate(20);

लेकिन क्वेरी अलग तालिका से डेटा प्राप्त करने के लिए अलग-अलग चयन कथन का उपयोग कर रही है।

धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

यह मानते हुए कि आपने बीच के संबंधों को परिभाषित किया है ftm_users तथा ftm_user_verification, आप इसका उपयोग कर सकते हैं whereHas संबंधित मॉडल को फ़िल्टर करने की विधि

$userStudent = User::where("user_group", "=", 3)->whereHas("userVerification", function ($query) {
$query->where("verification_status", "=", 1);
})->get();

चेक संबंध अस्तित्व पूछताछ दस्तावेज़ों में