sql >> Databáze >  >> RDS >> Mysql

Zobrazte data z Custom Query (Joined Tables) v liferay vyhledávacím kontejneru

Vidím, že name , title , status a remarks všechna pole jsou String (podle vašeho komentář ), takže v for smyčky, měli byste přetypovat Object jako String a nepotřebujete čtyři ArrayList za to.

Takto by značka řádku vypadala:

<liferay-ui:search-container-row className="java.lang.Object" modelVar="search">

    <%--
        Since an "Object[]" is nothing but an "Object", we first cast the "search"
        instance to an "Object[]" and then to a "String"
    --%>
    <liferay-ui:search-container-column-text name='name' value='<%= (String) ((Object[])search)[0] %>' /> 
    <liferay-ui:search-container-column-text name='title' value='<%= (String) ((Object[])search)[1] %>' /> 
    <liferay-ui:search-container-column-text name='status' value='<%= (String) ((Object[])search)[2] %>' /> 
    <liferay-ui:search-container-column-text name='remarks' value='<%= (String) ((Object[])search)[3] %>' /> 

</liferay-ui:search-container-row>

Tady to máš, mělo by to fungovat.

Čistší způsob, jak si myslím, by bylo mít definované POJO, které by tyto hodnoty uložilo, a poté lze vrátit seznam POJO. Druhý přístup jsem však nezkoušel.

Dalším standardním přístupem je zahrnout další pole do kteréhokoli z *Impl entity a poté vrátit seznam této entity, ve vašem případě bych předpokládal, že máte Student a Attendance entity, takže můžete zadat pole status &remarks v StudentImpl a poté vrátí List<Student> nebo zadejte fname v AttendanceImpl a vrátí List<Attendance> z vyhledávací metody. (aktualizováno po tento komentář )




  1. Použití group_concat

  2. PHP datum('W') vs MySQL YEARWEEK(nyní())

  3. Rychle přidejte kopii sloupce do tabulky MySQL

  4. Ajax, změna pořadí html tabulky JQuery