編輯:搜索似乎以非常基本的方式工作,在相關模型的所有字符串成員字段中搜索輸入的任何文本,而無需特殊的搜索運算符。在Play的CRUD模塊中自定義搜索功能
如果有什麼方法來定製搜索的工作方式,我想知道。現在看起來我只是不得不忽略內置搜索的東西,並推出自己的。
由於添加了notes
字段,它開始不返回任何內容,而是返回任何內容。 到目前爲止,唯一的工作是在搜索框中輸入「test」,該搜索框在notes欄中返回帶有「test」的記錄。搜索「筆記:測試」或「筆記=測試」不起作用,也不會嘗試搜索agent
或status
字段。我已經嘗試了諸如「1400」之類的東西,這是我通過phpMyAdmin在代理字段中驗證的值,以及狀態字段中的「0」或「VALID」之類的東西,這就是所有記錄的內容。
示範田:
public class AgentShift extends Model {
public enum Status { VALID, RESCHEDULED, EXTENDED, DELETED } // REDUCED?
@Required @Min(1000) @Max(99999)
public int agent;
public Status status = Status.VALID;
@Required
@Columns(columns={@Column(name="start_time"),@Column(name="end_time")})
@Type(type="org.joda.time.contrib.hibernate.PersistentInterval")
public Interval scheduled;
@Type(type="org.joda.time.contrib.hibernate.PersistentLocalTimeAsTime")
public LocalTime agent_in;
@Type(type="org.joda.time.contrib.hibernate.PersistentLocalTimeAsTime")
public LocalTime agent_out;
public String notes;
}
修改CRUD列表頁:
#{extends 'main.html' /}
#{set title: 'Agent Shifts' /}
<div id="crudList" class="${type.name}">
<h2 id="crudListTitle">&{'crud.list.title', type.name}</h2>
<div id="crudListSearch">
#{crud.search /}
</div>
<div id="crudListTable">
#{crud.table fields:['id','agent','scheduled','status','notes'] }
#{crud.custom 'scheduled'}
#{if object.scheduled.getStart().toDateMidnight().equals(object.scheduled.getEnd().toDateMidnight())}
${org.joda.time.format.DateTimeFormat.forStyle("SS").printTo(out, object.scheduled.getStart())} to
${org.joda.time.format.DateTimeFormat.forStyle("-S").printTo(out, object.scheduled.getEnd())}
#{/if}
#{else}
${org.joda.time.format.DateTimeFormat.forStyle("SS").printTo(out, object.scheduled.getStart())} to
${org.joda.time.format.DateTimeFormat.forStyle("SS").printTo(out, object.scheduled.getEnd())}
#{/else}
#{/crud.custom}
*{
#{crud.custom 'entered_by'}
#{if object.entered_by}
${object.entered_by}
#{/if}
#{else} ?
#{/else}
#{/crud.custom}
#{crud.custom 'created'}
${org.joda.time.format.DateTimeFormat.forStyle("SS").printTo(out, object.created)}
#{/crud.custom}
}*
#{/crud.table}
</div>
<div id="crudListPagination">
#{crud.pagination /}
</div>
<p id="crudListAdd">
<a href="@{blank()}">&{'crud.add', type.modelName}</a>
</p>
</div>
任何想法如何搜索任何成員字段中的文本?而不僅僅是絃樂。有點卡在那個問題現在。 – sanz 2013-03-14 05:59:13