Я новичок в Grails, Groovy и GSP.
У меня есть класс домена "ProductCategory".
class ProductCategory {
static constraints = {
}
static mapping = {
table 'product_category';
version false;
cache usage: 'read-only';
columns {
parent column: 'parentid';
procedure column: 'procid';
}
}
static hasMany = [children:ProductCategory];
ProductProcedure procedure;
Integer lineorder;
String name;
ProductCategory parent;
String templatelink;
char offline;
String toString() {
return id + " (" + name + ")";
}
}
Каждая категория МОЖЕТ иметь родителя. Я использую существующую базу данных, и в таблице есть столбец «парентид», чтобы сделать это. Если у категории нет родителя (корневой уровень), ее парентид равен 0.
У меня есть GSP, пытающийся показать данные о родителе, если таковые имеются.
<g:if test="${category.parent}">
hello
</g:if>
У меня сложилось впечатление, что это станет проверкой на существование.
Это прекрасно работает, если у категории есть родитель, но как только parentid = 0, она взрывается.
No row with the given identifier exists: [ProductCategory#0]
Я пытался проверить на == 0, но это не сработало, я полагаю, потому что «родитель» должен быть объектом.
Так как я могу сделать так, чтобы предполагать, что parentid = 0 совпадает с parent = null или NO parent?
Спасибо