Wygląda na to, że domyślnym wyborem dla Sequel jest "select *", co powoduje różnego rodzaju problemy przy dodawaniu łączeń. Przynajmniej kończysz z błędnymi identyfikatorami w twoich obiektach (ponieważ wtedy pojawi się więcej niż jedna kolumna "id"). Wydaje się, że działa, ale to traktuje ciąg przekazany jako kolumna i cytuje go. Do tej pory musiałem powrócić do nagiego SQL, aby rozwiązać ten problem, ale wiem, że musi być lepszy sposób.Sequel zaznaczanie zbyt wielu kolumn
6
A
Odpowiedz
5
Domyślnym zachowaniem dla Sequel jest wybór wszystkich kolumn, ale można go łatwo przesłonić. Jeśli chcesz wybrać tylko wszystkie kolumny z jednej tabeli:
.select(:people.*)
jeśli chcesz używać dosłownego SQL ciąg:
.select('people.*'.lit)
te składnie nie pracuje dla mnie, jak Sequel 4.10. ': ludzie. *' narzeka 'niezdefiniowana metoda * dla: osób: Symbol' i' 'ludzi. *'. zapalone 'narzeka' niezdefiniowana metoda zapalona dla "ludzi. *": Ciąg'. ': 'ludzie. *'' po prostu kończy wyszukiwanie "" osób. * "'. '.select_all (: ludzie)' jednak działa. – womble
'select_all' akceptuje również wiele tabel. Jeśli chcesz, aby wszystkie kolumny z kilku tabel i określonej kolumny z trzeciej tabeli, użyj 'select_all (: tbl1,: tbl2) .select_more (: tbl3__col)' – Kelvin
'' people. * '.lit' jest teraz 'Sequel. świeci ("ludzie. *") " – Kelvin