2016-04-25 7 views
1

私のアプリケーションにpdf添付ブールフラグが設定されており、データベースにtrueが設定されていることが示されています。しかし、私のデバッガがロードされ、変数を調べると、常にfalseが表示されます。メモリ対変数値のデータベースの違い

これは、フラグを取得するときに生成されるsqlです。

CACHE (0.0ms) SELECT `spree_products`.* FROM `spree_products` INNER JOIN `spree_variants` ON `spree_products`.`id` = `spree_variants`.`product_id` INNER JOIN `spree_line_items` ON `spree_variants`.`id` = `spree_line_items`.`variant_id` WHERE `spree_products`.`deleted_at` IS NULL AND `spree_variants`.`deleted_at` IS NULL AND `spree_line_items`.`order_id` = 1070722790 ORDER BY spree_line_items.created_at ASC LIMIT 1 [["order_id", 1070722790]] 

これは、私が上記の結果のために使用したものである:

products.first.attached_pdf 

これは常にfalseになります。私はそれがメモリキャッシュからデータを持ってくるのか、それとも今のところ私にとっては迷惑であるのか分かりません。なぜメモリとデータベースの値が異なるのですか?どんな助けも素晴らしいだろう!

+1

あなたは、おそらくこれはもっと釈明するためにいくつかのコードを追加する必要があります。 – jcm

+0

あなたは、アプリケーションコードのどの部分を私が掲示するべきかをより具体的に記述できますか? – mhaseeb

+0

私のデータベースは変更を示していますが、アプリケーションレベルではブール値が更新されていません。 – mhaseeb

答えて

1

クエリ結果は、データベースからではなく(CACHEデバッグメッセージから明らかなように)データベースクエリキャッシュから取得されます。 productsは、他のいくつかのレコードの団体である場合は、DBからのデータのforce a real queryする必要があります。

products(true).first.attached_pdf 
関連する問題