6
Sequelのデフォルトの選択のように見えますが、いくつかの結合を追加するとさまざまな問題が発生します。少なくとも、あなたのオブジェクトには間違ったIDで終わる(複数の "id"カラムが返されるため)。あまりに多くの列を選択した後遺症
のようにすると、渡された文字列を列として扱い、引用符で囲みます。これまでは、これを解決するために裸のSQLに戻す必要がありましたが、より良い方法が必要であることはわかっています。
Sequelのデフォルトの選択のように見えますが、いくつかの結合を追加するとさまざまな問題が発生します。少なくとも、あなたのオブジェクトには間違ったIDで終わる(複数の "id"カラムが返されるため)。あまりに多くの列を選択した後遺症
のようにすると、渡された文字列を列として扱い、引用符で囲みます。これまでは、これを解決するために裸のSQLに戻す必要がありましたが、より良い方法が必要であることはわかっています。
Sequelのデフォルトの動作はすべての列を選択することですが、上書きするのは簡単です。あなたは、単一のテーブルからのみすべての列を選択したい場合は、次の
.select(:people.*)
あなたはSQL文字列リテラルを使用する場合:
.select('people.*'.lit)
これらの構文のように、私のために働いていません続編4.10の':people。*'は、 '' Person :: Symbol''と '' people。* '''のための未定義メソッド*に '' people。* ":String'のための' '未定義メソッドlit"を返します。 ': 'people。*''は ''人々を探し出すだけです "*。 '.select_all(:people)'はトリックを行います。 – womble
'select_all'は複数のテーブルも受け入れます。 'select_all(:tbl1、:tbl2).select_more(:tbl3__col)' – Kelvin
'' people。* '。lit'は '' Sequel' 'になりました。 lit( 'people。*') ' – Kelvin