package cn.jfinalbbs.label;
import cn.jfinalbbs.utils.StrUtil;
import com.jfinal.plugin.activerecord.Model;
import com.jfinal.plugin.activerecord.Page;
import java.util.ArrayList;
import java.util.List;
/**
* Created by tomoya on 15/10/15.
*/
public class Label extends Model<Label> {
public static final Label me = new Label();
public Page<Label> page(int pageNumber, int pageSize, String name) {
StringBuffer condition = new StringBuffer();
if(!StrUtil.isBlank(name)) condition.append(" and l.name like \"%" + name + "%\" ");
return super.paginate(pageNumber, pageSize, "select l.* ", "from label l where 1 = 1 " + condition + " order by l.topic_count desc, l.in_time desc");
}
public List<Label> findByNameLike(String name) {
return super.find("select * from label where name like ?", "%"+name+"%");
}
public Label findByName(String name) {
return super.findFirst("select * from label where name = ?", name);
}
public List<Label> findByTid(String tid) {
List<Label> labels = new ArrayList<Label>();
List<LabelTopicId> labelTopicIds = LabelTopicId.me.findByTid(tid);
for(LabelTopicId lti : labelTopicIds) {
labels.add(super.findById(lti.getInt("lid")));
}
return labels;
}
}