6

Sequelのデフォルトのselectは"select*"のようです。これは、いくつかの結合を追加すると、あらゆる種類の問題を引き起こします。少なくとも、オブジェクトに間違ったIDが含まれることになります(複数の「id」列が返されるため)。のようなことをする

.select("people.*")

動作するように見えますが、渡された文字列を列として扱い、引用符で囲みます。これまでのところ、これを解決するにはベアSQLに戻らなければなりませんでしたが、もっと良い方法が必要だと思います。

4

1 に答える 1

5

Sequelのデフォルトの動作はすべての列を選択することですが、オーバーライドするのは簡単です。1つのテーブルからすべての列のみを選択する場合:

.select(:people.*)

リテラルSQL文字列を使用する場合:

.select('people.*'.lit)

于 2009-08-04T21:37:34.193 に答える