私はgrailsでクエリを実行しようとしています。フィルタリングするフィールドの1つはmysqlのdatetime型です。私はこれをやってみました:grailsの日付を使用してクエリを行う
def formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
def timeNow = formatter.format(new Date())
foundUsers = User.executeQuery("from User u where u.username LIKE '%"+params.searchStr+"%' and u.enabled =1 and u.expiration_date>"+timeNow,[max:20])
しかし、これは私にエラーが発生しています:予期しないトークン! ドメインUserとデータベースは、古いデータであり、ライブデータを含んでいるため、変更できません。 どうすればいいですか?
また、middlename、lastname、firstnameの類似性をチェックする必要があります。どうすればいいですか?そんなに好きなものをサポートできますか? –
はいあなたは、私がこの foundUsers = User.findByUsernameLikeOrFirstnameLikeOrMiddlenameLikeOrLastnameLikeAndEnabledAndExpirationDate( '%params.searchStr%'、 '%のparamsをした User.findByUsernameLikeAndMiddlenameLikeAndLastnameLike( '%1%'、 '%2%'、 '%3%') –
を持つことができます。 '%params.searchStr%'、1、新しい日付()) とエラーが発生しました。名前が見つかりません –