2017-12-20 3 views
0

私はトラブル私が入れidある代わりに123$1、そこにある理由を理解することだ。

Foo Load (0.4ms) SELECT "foos".* FROM "foos" WHERE "foos"."id" = $1 LIMIT 1 [["id", 123]] 
Doorkeeper::Application Load (0.4ms) SELECT "oauth_applications".* 
    FROM "oauth_applications" WHERE "oauth_applications"."id" IN (SELECT DISTINCT "oauth_access_tokens"."application_id" 
    FROM "oauth_access_tokens" WHERE "oauth_access_tokens"."resource_owner_id" = $1 
    AND "oauth_access_tokens"."revoked_at" IS NULL) [["resource_owner_id", 123]] 
+1

これはパラメータをマークします。パラメータの名前と値は、最後に大括弧で囲まれています。最初の例では、 'id'という名前の最初のパラメータに値として' 123'を渡しました。第2の例では、 'resource_owner_id'という名前の最初のパラメータに' 123'を渡しました。 –

答えて

0

$1をあなたの出力には、あなたidが含ま["id", 123]などの位置引数を表し、あなたの質問に入れてください。 PostgreSQL docsから

即ち:数字が続く

ドル記号($)は、関数定義または調製 文の本体の位置 パラメータを表すために使用されます。他の文脈では、ドル記号は、 識別子またはドル引用文字列定数の一部であってもよい。

関連する問題