Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何在Grails中过滤列表,使其仅显示';属于';特定用户?_List_Grails_Filter_Controller_Gsp - Fatal编程技术网

List 如何在Grails中过滤列表,使其仅显示';属于';特定用户?

List 如何在Grails中过滤列表,使其仅显示';属于';特定用户?,list,grails,filter,controller,gsp,List,Grails,Filter,Controller,Gsp,我想答案是相当基本的,但我对Grails还很陌生,在其他任何地方都很难找到我问题的答案 基本上,我有两个域类,用户和事件。事件与用户具有“belongsTo”关系,用户与事件具有“hasMany”关系。应用程序需要用户登录。登录后,他们可以查看创建的事件列表,但该列表包含所有创建的事件;即使是其他用户创建的。如何筛选列表以仅显示登录用户创建的内容?我不希望一个用户能够访问和更改另一个用户创建的事件。如果您的控制器具有登录用户的id,您应该能够这样做 user = User.get(id) def

我想答案是相当基本的,但我对Grails还很陌生,在其他任何地方都很难找到我问题的答案


基本上,我有两个域类,用户和事件。事件与用户具有“belongsTo”关系,用户与事件具有“hasMany”关系。应用程序需要用户登录。登录后,他们可以查看创建的事件列表,但该列表包含所有创建的事件;即使是其他用户创建的。如何筛选列表以仅显示登录用户创建的内容?我不希望一个用户能够访问和更改另一个用户创建的事件。

如果您的控制器具有登录用户的id,您应该能够这样做

user = User.get(id)
def events = user.events
并将其传递给您的视图:


重定向(控制器:'event',操作:'list',userEvents:events)
如果您的控制器具有登录的用户id,您应该能够

user = User.get(id)
def events = user.events
并将其传递给您的视图:


重定向(控制器:'event',操作:'list',用户事件:events)

伊桑的回答是正确的,而且很容易做到。但是如果你有很多不同的地方需要过滤,那么你就有点忘记过滤的风险


您可以使用hibernate筛选器插件自动筛选所有数据。请参阅根据当前用户的公司筛选数据的示例。

Ethan的回答是正确的,而且很容易做到。但是如果你有很多不同的地方需要过滤,那么你就有点忘记过滤的风险

您可以使用hibernate筛选器插件自动筛选所有数据。请参见根据当前用户的公司筛选数据的示例