Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Sequelのデフォルトのselectは"select*"のようです。これは、いくつかの結合を追加すると、あらゆる種類の問題を引き起こします。少なくとも、オブジェクトに間違ったIDが含まれることになります(複数の「id」列が返されるため)。のようなことをする
.select("people.*")
動作するように見えますが、渡された文字列を列として扱い、引用符で囲みます。これまでのところ、これを解決するにはベアSQLに戻らなければなりませんでしたが、もっと良い方法が必要だと思います。
Sequelのデフォルトの動作はすべての列を選択することですが、オーバーライドするのは簡単です。1つのテーブルからすべての列のみを選択する場合:
.select(:people.*)
リテラルSQL文字列を使用する場合:
.select('people.*'.lit)