Как искать JodaDate и JodaTime, используя критерии? - PullRequest
0 голосов
/ 31 октября 2011

Я новичок в Grails. Я использую плагин joda для даты и времени. Так что я отображаю дату и время в отдельном столбце. Теперь я хочу искать дату, используя критерии.Я использовал приведенный ниже код на странице gsp для поиска даты.

<tr class="prop">
                                <td valign="top" class="name">
                                    <label for="createdOn"><g:message code="asset.createdOn.label" default="Created On" /></label>
                                </td>
                                <td valign="top" class="value ${hasErrors(bean: assetInstance, field: 'createdOn', 'errors')}">
                                    <joda:datePicker name="createdOn" precision="date" value="${assetInstance?.createdOn}" />

                                </td>
                            </tr>

Я использовал приведенный ниже код в контроллере, используя критерии.

def search= {
     if (request.method == 'POST'){
     def criteria = Asset.createCriteria()

          def results = criteria { 

   or {
             gt('createdOn','%' + params.createdOn + '%').toDate()
             }


          }
         render(view:'list', model:[ assetInstanceList: results,assetInstanceTotal: Asset.count() ])
     }
       } 

Но он показывает ошибку. Пожалуйста, помогите мне решить эту проблемупроблема.

1 Ответ

1 голос
/ 31 октября 2011

Возможно, вы захотите связать свой поиск с командой, чтобы у вас был фактический связанный объект Date вместо параметра String.

class SearchCommand {
    LocalDate createdOn
    ...
}

Вам также необходимо исправить свои критерии.

def search = { SearchCommand command ->
    ...

    def results = criteria {
        or {
            gt('createdOn', command.createdOn)
            ...
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...