PhupStorm को ड्रुपल {टेबल} एसक्यूएल सिंटैक्स पहचानने के लिए कैसे सिखाएं?


14

मैं एसक्यूएल प्रश्नों से भरा कुछ वास्तव में पुराने ड्रुपल प्रोजेक्ट के साथ काम कर रहा हूं। SQL की PhStStorm की समझ बहुत आसान है, लेकिन मुझे ड्रुपालिज़्म जैसी समस्या है {table_name}। आईडीई कि शिकायत <reference> expected, got '{'

मैं PhpStorm को कैसे सेट कर सकता हूं ताकि यह समझ में आ जाए कि घुंघराले ब्रेस के अंदर स्ट्रिंग सिर्फ एक टेबल नाम है? या कम से कम इसे घुंघराले ब्रेसिज़ को अनदेखा करें?


1
क्या आप Drupal एकीकरण का उपयोग कर रहे हैं? मैंने इस मुद्दे को PHPStorm के साथ कभी नहीं देखा है। क्या आपके पास SQL ​​के लिए एक विशेष प्लगइन है जो समस्याओं का कारण हो सकता है?
googletorp

@googletorp हाँ, मैं ड्रुपल सपोर्ट प्लगइन का उपयोग कर रहा हूँ जो
PhpStorm के

1
@SiliconMind यह समर्थित नहीं है, मुझे लगता है। आप sql बोली सेट कर सकते हैं, लेकिन आप इस विशिष्ट चीज़ को सेट नहीं कर सकते, हो सकता है कि अन्य प्लगइन्स आपके कोड को चला सकें और आपको लाइव में परिणाम दे सकें (जैसे डेटाबेस उपकरण और SQL) ... हो सकता है। मैंने कभी इसका इस्तेमाल नहीं किया, लेकिन मुझे यकीन नहीं है कि यह एक अच्छा अभ्यास है।
Golddragon007

जवाबों:


10

PhpStorm प्राथमिकताएँ में> उपकरण> डेटाबेस> उपयोगकर्ता पैरामीटर:

  • "SQL इंजेक्शन के साथ स्ट्रिंग लीटर में सक्षम करें" की जाँच करें
  • \{\w+\}पैरामीटर पैटर्न में जोड़ें ।

आप %\w+प्लेसहोल्डर्स के लिए भाषा php की अनुमति के साथ लाइन को संशोधित करना चाह सकते हैं %d। स्क्रीनशॉट देखें और JetBrain का PhPStorm ब्लॉग पोस्ट: डेटाबेस भाषा इंजेक्शन कॉन्फ़िगरेशन

PhpStorm प्राथमिकताएँ स्क्रीनशॉट


1
मैं PhpStorm के क्वेरी निष्पादन (Ctrl + Enter शॉर्टकट) के साथ बेहतर काम \{\w+\}करने के \{(\w+)\}लिए बदलूंगा। अतिरिक्त कोष्ठकों के बिना, यदि आप क्वेरी को निष्पादित करने का प्रयास करें, यह आप इनपुट नामक पैरामीटर करने का संकेत देगा # 1 अपने लिए {table_name}, लेकिन कोष्ठकों के साथ इसे और अधिक काम आते हुए शीघ्र एक के लिए अपने होगा TABLE_NAME पैरामीटर।
morbiD 10

मेरी पिछली टिप्पणी के आगे, यहां उन अंतरों के उदाहरण दिए गए हैं, जिन्हें कोष्ठक बना सकता है। एक क्वेरी स्ट्रिंग के लिए SELECT * FROM {node} WHERE nid = :nid, Ctrl + Enter शॉर्टकट दबाने पर निम्नलिखित संकेत प्रदर्शित होते हैं: कोष्ठक के साथ और बिना कोष्ठक के
morbiD

1
यह उस समस्या को हल नहीं करता है जहां तालिका कॉलम को अनसुलझे के रूप में चिह्नित किया गया है। एक समाधान की आवश्यकता है जो तालिका और उसके स्तंभों को पहचानता है, जैसा कि नियमित एसक्यूएल सिंटैक्स में है।
सेमरा


-5

मैं PHPStorm Drupal SQL सिंटैक्स को पहचानने का कोई तरीका नहीं जानता।

लेकिन अगर आप ड्रुपल द्वारा बनाई गई क्वेरी को डीबग करना चाहते हैं, तो आप PHPStorm क्वेरी कंसोल पर कॉपी करने के बाद क्वेरी से घुंघराले ब्रेसिज़ को हटा सकते हैं।


1
इस सलाह के पतन का कारण यह है क्योंकि तालिका के नामों के आसपास कोष्ठक शामिल करने के लिए हटाने या उपेक्षा करने से ड्रुपल की तालिका उपसर्ग व्यवहार में हस्तक्षेप होगा। फीचर के बारे में जानकारी के लिए इस लिंक को देखें: drupal.org/node/2622
वेस्टन वेडिंग

@ Drestal में क्वेरी निष्पादित करते समय मैंने कर्ली ब्रैकेट को हटाने का सुझाव नहीं दिया। मेरा सुझाव Drupal से PHPStorm क्वेरी कंसोल में क्वेरी की प्रतिलिपि बनाने के बाद कोष्ठक को हटाने का था। यह थोड़ा मैनुअल काम है, लेकिन ड्रुपल द्वारा निर्मित प्रश्नों को डीबग करने में मदद करता है।
ईयाल

समझा! खैर, यह आपके जवाब में कहीं भी नहीं है, इसलिए कुछ लोग भ्रमित हो सकते हैं।
वेस्टन वेडिंग

मैंने उत्तर को थोड़ा और संदर्भ के साथ अद्यतन किया।
ईयाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.