ক্ষেত্রগুলিতে সামগ্রিক তথ্য প্রাপ্তির সবচেয়ে টেকসই উপায় কী?


12

এন্টিফিল্ডকিউরির ক্ষেত্রের ডেটাতে সামগ্রিক ফাংশন (এসইউএম, এভিজি, ইত্যাদি) চালানোর জন্য ব্যবহার করার উদ্দেশ্যে নয় কারণ এটি এসকিউএল-অজোনস্টিক। যে বলেছে যে, এই ধরনের অপারেশনগুলি আইনসম্মতভাবে সময়ে সময়ে চালানো দরকার। এনটিটিফিল্ডকিউরি এবং বিশেষত এন্টিফিল্ডকুয়েরির সাথে এসকিউএল ফাংশন অনুসারে এবং কীভাবে সামগ্রিক ফাংশন সুম, এআরজি এবং ম্যাক্স ব্যবহার করা যায় সে অনুসারে এসকিউএল কোয়েরিগুলি ব্যবহার করা দরকার, এবং এই পদ্ধতির সাথে আমার ব্যবহারের ক্ষেত্রে সবচেয়ে ভাল মানায় । আমি গতকাল @chx এর সাথে কথা বলছিলাম এবং তিনি ক্ষেত্রের নাম এবং কলামের নাম সন্ধান করার জন্য কয়েকটি অভ্যন্তরীণ ফাংশন ব্যবহার করার পরামর্শ দিয়েছেন। আমি কেবল ভাবছি যে এটি টেকসই কিনা এবং যদি কোনও কোডবেসে এটি করা উপযুক্ত হয় যা আমি otehrs এ প্রকাশ করতে পারি।

যদি এটি সর্বোত্তম উপায় হয় তবে এটি সর্বোত্তম উপায়। আমি একেবারে নিশ্চিত হওয়ার আগে আমি এটি করতে চাই না কারণ এটি অগোছালো মনে হচ্ছে।


আপাতত, আমি স্রেফ অভ্যন্তরীণ ফাংশনগুলি ( _field_sql_storage_tablename($field)এবং _field_sql_storage_columnname($field_name, $column) ব্যবহার করেছি , যা আমার বর্তমান প্রয়োজনের উপযুক্ত, তবে এটি টেকসই নয়, সুতরাং এখনও এই প্রশ্নের উত্তরের আগ্রহী হওয়া উচিত।
উইজোনসোলিউশনগুলি

উত্তর:


2

দেখুন ক্ষেত্র মডিউল আপনাকে মতামত বেস টেবিল হিসাবে ক্ষেত্র টেবিল এক্সপোজ করতে পারবেন। এটি ভিউ ডিফল্ট আচরণের থেকে পৃথক যে বেস টেবিলটি ক্ষেত্র সারণী এবং এমন কোনও সত্তা নয় যা থেকে ক্ষেত্রের ডেটা লোড হয়। উদাহরণস্বরূপ, বেস টেবিল হিসাবে নোড নির্বাচন করার সময় আপনি ক্ষেত্রগুলি যুক্ত করতে পারেন, তবে কোয়েরিতে প্রাথমিক (বেস টেবিল) এখনও নোড যা আপনার ডেটার উপর নির্ভর করে সামগ্রিক ফাংশনগুলি স্ক্রু করতে পারে (কিছুটির একাধিক থেকে একের সম্পর্ক) নোডে ক্ষেত্রগুলি)।

ভিউজ ফিল্ড আপনাকে ক্ষেত্র সারণিতে সরাসরি অ্যাক্সেসের অনুমতি দেয় যার অর্থ সামগ্রিক ফাংশনগুলি সঠিকভাবে কাজ করে। অতিরিক্ত হিসাবে যদি আপনাকে "আকর্ষণীয়" করতে অন্য ক্ষেত্রের সারণিতে যোগ দেয় আপনি নিম্নলিখিতগুলি ব্যবহার করে সেগুলি পুরোপুরি নিয়ন্ত্রণ করতে পারেন।

/**
 * Implements hook_views_data_alter().
 */
function mymodule_views_data_alter(&$data) {
  views_field_add_multi_join($data, /* see docs */);
}

যা ব্যবহার করা মোটামুটি সহজ এবং এরপরে আপনি একসাথে একাধিক ফিল্ড টেবিল জুড়ে সামগ্রিক কার্য সম্পাদন করতে পারবেন। তারপরে আপনি ম্যানুয়ালি একটি দর্শন শুরু করতে পারেন $view->execute()এবং ফলাফলটিকে ভিউয়ের বাইরে টানতে পারেন। ভিউ ডকুমেন্টেশনে এর উদাহরণ রয়েছে।

এন্টিফিল্ডকিউরির এই পদ্ধতির সুবিধা হ'ল আপনি ভিউগুলিতে প্রক্রিয়াটি পরিচালনা করতে পারেন (যা প্রায় প্রত্যেকে ইতিমধ্যে ব্যবহার করা হবে) এবং এটি সরাসরি শারীরিক জিজ্ঞাসা বিল্ডিংকে কম সরাসরি উপায়ে সঞ্চালনের অনুমতি দেয় যা রাস্তায় সম্ভাব্য ভাঙ্গনকে উন্নত করতে সহায়তা করে। এছাড়াও অনেক সময় আপনি এডমিন স্ক্রিনে এই জাতীয় সামগ্রিক ডেটা প্রদর্শন করতে চান যা আপনি এরপরে প্রদর্শনটি সরবরাহ করতে এবং অতিরিক্ত উদ্দেশ্যে কোডে ফলাফল অ্যাক্সেস করতে উভয়ই ব্যবহার করতে পারেন।


আমি এটি পরীক্ষা করে দেখতে হবে। আমি নিজেই কোয়েরি না করে আমার কোডযুক্ত ক্ষেত্রগুলিতে সেই কোডটি অদলবদল করতে পারি। আমি সম্ভবত সেই সাইটটিতে কাজ করব যেখানে খুব শীঘ্রই আমার এটির প্রয়োজন হবে এবং কোনও সময়ে ফিরে রিপোর্ট করব। যদি এটি কাজ করে তবে আমি গ্রহণ করব।
উইজোনসোলিউশনগুলি

0

এটি দেখার জন্য কোনও অ্যাড-অন মডিউলটিতে করা যেতে পারে? এটি কোয়েরিকে খুব ভালভাবে পরিচালনা করে এবং কিছু ফলাফল সামগ্রিক ফাংশন সহ প্রকাশিত হয় যেমন ক্রিয়াকলাপে যখন প্রাসঙ্গিক ফিল্টারগুলি ব্যর্থ হয় যেখানে এটি সমস্ত মানকে ডিফল্ট করতে পারে এবং প্রতিটিটিতে উপলব্ধ ফলাফলগুলি গণনা করে। প্রশ্নের জন্য ফাংশনগুলি সেখানে থাকতে হবে তবে এটির জন্য একটি ইউআই ফর্ম প্রয়োজন। যদি এটি বোঝা যায় তবে আমাকে জানান। আমি কেবল ভিউগুলি ছড়িয়ে দিতে শুরু করছি এবং অনুমান করছি।


COUNT টি সন্ধানগুলি সত্তাটিতে চালানো যেতে পারে, তাই এটি সমাধান হয়েছে। আমি নিজেই এসএমএমে আগ্রহী। ভিউ_ক্যাল্যাক অন্তর্দৃষ্টি দিতে পারে তবে আমি একটি গণনীয় ক্ষেত্রের মানটি ব্যবহার করতে চাই ... যা আমি ভিউ_জেট_ভিউ_সাল্ট (বা অনুরূপ) দিয়ে ভাল করতে পারি। যাইহোক, প্রথম স্থানে সেই ক্যোয়ারী তৈরি করার জন্য ভিউগুলি পাওয়া কৌশল is দেখে মনে হচ্ছে হ্যাকিশ উপায়টি সবচেয়ে ভাল হতে পারে। আমার ধারণা আমি এটি দিয়েই শুরু করব কারণ আমি যদি এটি প্রকাশ না করি তবে আমি সোনালী হয়ে যাব। আমি যদি করি তবে কেউ আশা করে একটি প্যাচ জমা দেবে।
উইজোনসোলিউশনগুলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.