query אחד לכמה שאילתות שונות. אפשרי?
-
יש לי מהדר - רפיטרים שונים שאני רוצה לחלק כל אחד לפי יום, האם אני חייב לעשות את query לכל אחד בנפרד כמו בדוגמא, או אפשר בפעם אחת לקבל הכל ואז למיין אותם לאובייקטים?
wixData.query("tocnit") .eq("yom", 0) .find() .then( (results) => { console.log(results); } ) .catch( (error) => { let errorMsg = error.message; let code = error.code; } ); wixData.query("tocnit") .eq("yom", 2) .find() .then( (results1) => { console.log(results1); } ) .catch( (error) => { let errorMsg = error.message; let code = error.code; } );
-
@אבי-203 אמר בquery אחד לכמה שאילתות שונות. אפשרי?:
wixData
אם זה רצף מספרים, תשתמש בbetween:
var allDays = [8,9,10,11,12,13]; wixData.query("tocnit") .between("yom", allDays[0], allDays[allDays.length]) .then( ...
אם אין רצף תשתמש בhasSome
var allDays = [13,9,1,6]; wixData.query("tocnit") .hasSome("yom", allDays) .then( ...
-
תודה על המענה. נראה לי לא הסברתי את כוונתי כראוי.
אני מנסה לעשות 7 רפיטרים, עם התוכנייה לאותו יום.
חשבתי בכיון הזה, השאלה אם זה לא הרבה קריאות כפולות. ויש דרך מקוצרת יותר:
תודה$w("#repeater1").onItemReady( ($item, itemData, index) => { $item("#bookTitle").text = itemData.title; $item("#bookCover").src = itemData.pic; } ); wixData.query("tocnit") .eq("yom", 2) .find() .then( (results) => { $w("#repeater1").data = results.items; } ); $w("#repeater2").onItemReady( ($item, itemData, index) => { $item("#bookTitle").text = itemData.title; $item("#bookCover").src = itemData.pic; } ); wixData.query("tocnit") .eq("yom", 0) .find() .then( (results) => { $w("#repeater2").data = results.items; } );
-
עכשיו עוד יותר לא הבנתי אותך.
אתה דוקא דיברת ברור, אתה רוצה במקום לעשות X שאילתות לעשות אחת שתעשה את כולם במכה. לא ככה? -
תודדה
אנסה לנסח נכון.
אני צריך בסופו של דבר לצאת עם 7 אובייקטים ממסד נתונים אחד, אולי במילים אחרות למיין את המסד ל-7 אובייקטים ואז לחבר כל רפיטר לאובייקט אחר.
למשל$w("#myRepeater1").data = bikeData1; $w("#myRepeater2").data = bikeData2;
-
wixData.query("tocnit") .between("yom", 1, 7) .then(result => { for(let yom = 1; yom < 8; yom++) $w("#repeater" + yom).data = result.items.filter(x => x.yom == yom); }).catch(console.log);