قائمة منسدلة لــ group_id في استعلام استكشاف البيانات

أود أن أكون قادرًا على تحديد شيء كهذا:

-- [params]
-- groups.id :group_id

للحصول على مدخل معلمة يكون قائمة منسدلة للمجموعات. لقد سميت القيمة group_id هنا لأنني أفترض أن هذا ما ستقدمه هذه القائمة المنسدلة.

4 إعجابات

أعتقد أن هذا سيكون مفيدًا جدًا أيضًا. :+1: شيء مثل المعلمة القابلة للتحديد user_id الموجودة ولكن للمجموعات. سيكون أفضل إذا كان يمكنه قبول قيم متعددة. :slight_smile:

4 إعجابات

انتظر، ماذا؟

هل يمكنك أن تشير لي إلى المكان الذي يوضح كيفية استخدام ذلك؟

إعجاب واحد (1)

يمكنك استخدام شيء مثل:

-- [params]
-- user_id :user

SELECT *
FROM posts
WHERE user_id =:user
LIMIT 5

وهذا سيؤدي إلى ظهور قائمة منسدلة حيث يمكنك الإكمال التلقائي لمستخدم. :+1:

ومع ذلك، لاحظت للتو أنه في المرة الأولى التي تقوم فيها بتشغيله في الوقت الحالي، فإنه يظهر خطأ ولا يعرض مربع المعلمة، ولكنه يظهر إذا قمت بتحديث الصفحة. سأرى ما إذا كان بإمكاني العثور على شخص للتحقق من ذلك. :slight_smile:

4 إعجابات

اسأل (وانتظر) وستتلقى… لقد أضفنا للتو دعمًا لمعامل :group_list في هذا الطلب.

إليك مثال على الميزة قيد الاستخدام:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name IN (:groups)
ORDER BY g.name ASC

يجب أن يمنحك هذا ما يلي في واجهة المستخدم:

8 إعجابات

هذا يبدو رائعًا. :star_struck: أتطلع بالفعل إلى تطبيق هذا. :rocket:

3 إعجابات

تم إغلاق موضوعي قبل أن أتمكن من الرد عليه…

هل هناك طريقة لتقييد نوع المعلمة الجديد -- group_list بمجموعة واحدة؟ لقد قمت بتضمينه في تقاريرنا الحالية، لكنها جميعًا مكتوبة وتتوقع اسم مجموعة واحد، وفي الاختبار وجدت نفسي أخطئ فيه بشكل متكرر.

لقد أعدت فتحه وأزلته. :+1:

على الرغم من أنني لست متأكدًا مما تقصده؟ هل يمكنك تقديم مثال لماهية المشكلة؟

إعجاب واحد (1)

أعني أنني أقوم بتشغيل الاستعلام لمجموعتي الأولى. ثم عندما أريد تبديل المجموعات، أضيف مجموعة بدلاً من ذلك → خطأ

إعجاب واحد (1)

أوه. هذا مثير للاهتمام. لقد كنت أستخدمه بشكل أكبر مثل:

WHERE g.name IN (:groups)
إخفاء القليل من Jammy Stupid
WHERE g.id IN (:groups)

على الرغم من أن هذا سيسمح لك عن طريق الخطأ بوضع أكثر من واحد حتى لو كنت ستتجنب الخطأ. :thinking:

أفضل الخطأ على الاختيار العشوائي من القائمة :slight_smile:

إعجاب واحد (1)

بصراحة، لقد تحققت للتو من ذلك وأعتقد أنني ربما كنت أحلم باستخدامه لـ group_ids لأنه لا يعجبه على الإطلاق. سأشطب ذلك من السجل. :slight_smile: ليس لدي فكرة من أين أتتني هذه الفكرة. كان بإمكاني أن أقسم أنني استخدمتها قبل يومين. :derp:

إعجاب واحد (1)

بالمناسبة، لقد نسيت تمامًا أن أقول:

هذا رائع!!! :confetti_ball: شكرًا لك!!! :tada:

3 إعجابات

لا، لا توجد طريقة لتحديدها لمجموعة واحدة. على حد علمي.
ستكون المعلمة من group_list مصفوفة إذا تم تحديد أكثر من عنصر واحد وسلسلة نصية إذا تم تحديد عنصر واحد فقط.
لذلك، عندما يكون هناك عنصر واحد فقط، يمكنك القيام بذلك:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name = :groups
ORDER BY g.name ASC

ولكن نظرًا لأنها مصفوفة، فإن ما يلي سيعمل لكل من عنصر واحد وعناصر متعددة:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name IN (:groups)
ORDER BY g.name ASC

ولكن لا توجد طريقة لإخبار واجهة المستخدم “اقبل عنصرًا واحدًا فقط كاختيار”.

إعجاب واحد (1)

وثائق @saradev هنا Utilizing Parameters in Data Explorer Queries تسلط الضوء على القائمة الكاملة للمعاملات لمستكشف البيانات التي تحتوي أحيانًا على قائمة منسدلة وأحيانًا لا. (قائمة المعاملات على Github)

إليك جدول للمعاملات، يشير أيضًا إلى ما إذا كان هناك تحكم محدد لها.

معامل قائمة منسدلة متاحة
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date
time
datetime
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
string_list
category_id
group_id
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

من الناحية المثالية، يجب أن يكون للقوائم المنسدلة المستخدمة والمُظهرة في مستكشف البيانات مظهر وشعور مشابه للتطبيق الأساسي. دعنا نكتشف كيف يمكننا تحقيق ذلك.

6 إعجابات

لقد أعدنا تصميم مربع إدخال المعلمات بالكامل مؤخرًا. تحتوي معظم الأنواع على مربعات منسدلة خاصة بها وتدعم التحقق من الصحة مع مطالبات خطأ دلالية الآن. :chefs_kiss:


إليك أحدث جدول للمعلمات يشير إلى ما إذا كان هناك عنصر تحكم محدد له.

معلم القائمة المنسدلة متاحة
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date :white_check_mark:
time :white_check_mark:
datetime :white_check_mark:
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
category_id :white_check_mark:
group_id :white_check_mark:
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

@ganncamp قد ترغب في معرفة هذا التغيير :wink:

9 إعجابات

هل يمكنك شرح كيفية عمل هذه القوائم المنسدلة؟ لم أتمكن من الحصول على قائمة منسدلة حيث أتمكن من تحديد قائمة من السلاسل النصية المتاحة في تلك القائمة المنسدلة.

إعجاب واحد (1)

@jordan-violet رد متأخر، لكن @SaraDev قامت بكتابة هنا حول المعلمات المتاحة، وتم تحديث OP بواسطة Linca:

إعجابَين (2)