কীভাবে পিএইচপিস্টোরমকে ড্রুপাল {টেবিল} এসকিউএল সিনট্যাক্স সনাক্ত করতে শেখানো যায়?


14

আমি এসকিউএল কোয়েরিতে পূর্ণ কিছু সত্যই পুরানো ড্রুপাল প্রকল্পটি নিয়ে কাজ করছি। পিএইচপিস্টোরমের এসকিউএল সম্পর্কে বোঝা খুব সহজ তবে আমার মত ড্রুপালিজমের সমস্যা আছে {table_name}। আইডিই অভিযোগ করে যে <reference> expected, got '{'

আমি কীভাবে পিএইচপিস্টোরম সেট আপ করতে পারি যাতে এটি বুঝতে পারে যে কোঁকড়ানো ধনুর্বন্ধনীগুলির ভিতরে থাকা স্ট্রিংটি কেবল একটি টেবিলের নাম? বা কমপক্ষে এটিকে কোঁকড়ানো ধনুর্বন্ধনীগুলি উপেক্ষা করুন?


1
আপনি কি ড্রুপাল ইন্টিগ্রেশন ব্যবহার করছেন? আমি এই সমস্যাটি পিএইচপিএসটারম দিয়ে দেখিনি। আপনার কি এসকিউএল এর জন্য একটি বিশেষ প্লাগইন রয়েছে যা সমস্যার কারণ হতে পারে?
googletorp

@googletorp হ্যাঁ আমি PhpStorm- এর সাথে বান্ডিলযুক্ত ড্রুপাল সমর্থন প্লাগইন ব্যবহার করছি
সিলিকনমাইন্ড

1
@ সিলিকনমাইন্ড এটি সমর্থিত নয় বলে আমি মনে করি। আপনি স্কয়ার ডায়ালেক্ট সেট করতে পারেন তবে আপনি এই নির্দিষ্ট জিনিসটি সেট করতে পারবেন না, কারণ অন্য প্লাগইনগুলি আপনার কোড চালাতে পারে এবং আপনাকে লাইভে ফলাফল দেয় (যেমন ডেটাবেস সরঞ্জাম এবং এসকিউএল) ... হতে পারে। আমি কখনই এটি ব্যবহার করি নি, তবে আমি নিশ্চিত নই যে এটি একটি ভাল অনুশীলন।
স্বর্ণড্রাগন 7007

উত্তর:


10

পিএইচপিস্টোরম পছন্দসমূহ> সরঞ্জামসমূহ> ডাটাবেস> ব্যবহারকারী পরামিতিগুলিতে:

  • "এসকিউএল ইঞ্জেকশন সহ স্ট্রিং লিটারালগুলিতে সক্ষম করুন" পরীক্ষা করুন
  • যোগ \{\w+\}প্যারামিটার প্যাটার্নস করতে।

আপনার %\w+পছন্দ মতো স্থানধারীদের জন্য ভাষা পিএইচপি করার অনুমতি পেতে আপনি লাইনটি সংশোধন করতে চাইতে পারেন %d। স্ক্রিনশট এবং জেটব্রেইনের পিএইচপিস্টোরম ব্লগ পোস্ট দেখুন: ডেটাবেস ল্যাঙ্গুয়েজ ইনজেকশন কনফিগারেশন

পিএইচপিস্টোরম পছন্দসমূহের স্ক্রিনশট


1
আমি পরিবর্তন হবে \{\w+\}থেকে \{(\w+)\}PhpStorm এর কোয়েরি সঞ্চালনের সাথে আরও ভাল কাজ করতে করুন (Ctrl + শর্টকাট লিখুন)। অতিরিক্ত প্রথম বন্ধনী ছাড়া, যদি তোমরা ক্যোয়ারী নির্বাহ করার চেষ্টা করুন, আপনার ইনপুট একটি প্যারামিটার নামে লেখার অনুরোধ জানানো হবে # 1 আপনার জন্য {table_name}কিন্তু প্রথম বন্ধনী দিয়ে এটি আরো সহায়কভাবে প্রম্পট একটি জন্য আপনার ইচ্ছা TABLE_NAME প্যারামিটার।
morbiD

আমার আগের মন্তব্যে আরও, প্রথম বন্ধনীগুলি কী পার্থক্য করবে তার উদাহরণ এখানে। কোয়েরি স্ট্রিংয়ের জন্য SELECT * FROM {node} WHERE nid = :nid, সিটিআরএল + এন্টার শর্টকাট টিপলে নিম্নলিখিত প্রম্পটগুলি প্রদর্শিত হয়: বন্ধনীগুলি এবং বন্ধনী ছাড়াই
morbiD

1
টেবিল কলামগুলি সমাধান না করা হিসাবে চিহ্নিত করা হয়েছে এটি এটি সমস্যার সমাধান করে না। এমন একটি সমাধানের প্রয়োজন যা টেবিল এবং এর কলামগুলিকে স্বীকৃতি দেয়, যেমন নিয়মিত স্ক্যালএল সিনট্যাক্সের মতো।
সেমরা


-5

পিএইচপিএসটারমকে ড্রুপাল এসকিউএল সিনট্যাক্সটি স্বীকৃতি দেওয়ার কোনও উপায় আমি জানি না।

তবে আপনি যদি কেবল কোনও ড্রইপাল দ্বারা তৈরি একটি কোয়েরি ডিবাগ করতে চান তবে আপনি পিএইচপিএসটারম ক্যোয়ারী কনসোলে অনুলিপি করার পরে কোয়েরি থেকে কোঁকড়ানো বন্ধনীগুলি সরাতে পারেন।


1
এই পরামর্শের নিম্নাঞ্চলের কারণ হ'ল টেবিলের নামগুলির চারপাশে বন্ধনী অন্তর্ভুক্ত করা বা অবহেলা করা দ্রুপালের টেবিলের পূর্বনির্ধারিত আচরণে হস্তক্ষেপ করবে। বৈশিষ্ট্য সম্পর্কে বিস্তারিত জানার জন্য এই লিঙ্কটি দেখুন: drupal.org/node/2622
ওয়েস্টন ওয়েডিং

@ ওয়েস্টনওয়েডিং দ্রুপালে কোয়েরি চালানোর সময় আমি কোঁকড়া বন্ধনী অপসারণের পরামর্শ দিইনি। আমার পরামর্শটি হ'ল ড্রপাল থেকে পিএইচপিএসটর্ম ক্যোয়ারী কনসোলটিতে কোয়েরিটি অনুলিপি করার পরে বন্ধনীগুলি সরিয়ে ফেলতে হবে। এটি কিছুটা ম্যানুয়াল কাজ, তবে দ্রুপাল দ্বারা নির্মিত অনুসন্ধানগুলি ডিবাগ করার সময় সহায়তা করে।
ইয়াল 19

আমি দেখি! ঠিক আছে, এটি আপনার উত্তরে কোথাও নেই, তাই কিছু লোক বিভ্রান্ত হতে পারে।
ওয়েস্টন ওয়েডিং

আমি উত্তরটি আরও কিছু প্রসঙ্গের সাথে আপডেট করেছি।
ইয়াল 19
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.