वर्तमान में यह फ़ंक्शन काम करता है: यह एक विशिष्ट गेम के लिए प्रदर्शित करता है, कितनी नौकरियां हैं।एसक्यूएल/सिद्धांत: बाएं समस्या से जुड़ें
समस्या: यदि कोई नौकरी नहीं है, तो गेम सूची में प्रकट नहीं होता है।
कोई नौकरी संलग्न होने पर भी गेम को कैसे प्रदर्शित किया जाए?
धन्यवाद
public function getWithGames()
{
$q = $this->createQuery('c')
->leftJoin('c.stJob j')
->where('j.expires_at > ?', date('Y-m-d h:i:s', time()))
->addOrderBy('c.name');
$q->andWhere('j.is_activated = ?', 1);
$q->andWhere('j.is_public = ?', 1);
return $q->execute();
}
मुझे लगता है कि यह वास्तव में कोई बाएं नहीं है क्योंकि यह बाएं शामिल है। इसलिए कोई फर्क नहीं पड़ता कि स्थिति कहाँ लागू होती है। लेकिन देखो कि वह समस्या के रूप में क्या परिभाषित करता है। यदि कोई नौकरी नहीं है, तो यह सूचीबद्ध नहीं है। इसलिए वह एक जुड़ा हुआ वैल्यू चाहता है जहां (नौकरी की विशेषता सार्वजनिक और सक्रिय होती है 1) या (दोनों न्यूल हैं) ... (यदि कोई नौकरी नहीं होती है तो ऐसा होता है)। आखिरी हिस्सा वह है जो वह –
भूल गया है यह बहुत मायने रखता है। एक 'या ... सामान है नल' सभी वांछनीय नहीं है। 'ऑन' क्लॉज का बहुत ही उद्देश्य यह है कि ये शर्तें *** शामिल हैं जो *** शामिल करने के लिए उपयोग की जाती हैं। यदि उन पंक्तियों से कोई पंक्तियां मेल नहीं खाती हैं, तो कोई जुड़ाव नहीं है - और बाएं जॉइन के मामले में ठीक है। मैन्युअल रूप से लिखे गए "सामान 'नल के साथ' ऑन 'क्लॉज की नकल करने की कोशिश कर रहे हैं" सामान शून्य है "स्थितियां बदसूरत हैं। मुझे उम्मीद है कि यहां एक डाउनवोट का कारण नहीं है। – VoteyDisciple
जो पूरी तरह से सच है। इस के लिए आपको एक उपरांत दिया :) मुझे जो पसंद नहीं आया वह यह था कि यह उसके कोड में समस्या नहीं है। उनके कोड में समस्या यह समझने की पूरी तरह से अर्थपूर्ण समस्या थी कि वास्तव में क्या बाएं शामिल होता है। –