循环时如何只设置偏移量?

ifu*_*ion 2 silverstripe

我有一种情况,我需要从第7张图片开始循环我的图像,例如

// This shows the first 6 images

<% loop $GalleryImages.Limit(6) %>

    <img src="$Image">

<% end_loop %>
Run Code Online (Sandbox Code Playgroud)

-

然后我需要从病房的第7张图片中显示出来.我们可以在这里使用偏移但我们必须设置一个限制(第一个参数)

<% loop $GalleryImages.Limit(100, 6) %>

    <img src="$Image">

<% end_loop %>
Run Code Online (Sandbox Code Playgroud)

有没有办法只设置偏移量或者我应该解决这个问题的另一种方法?

Unc*_*ese 5

最干净的事情是在控制器或运行查询的模型中创建一个方法.

public function OtherGalleryImages()
{
  return $this->GalleryImages()->limit(null, 6);
}
Run Code Online (Sandbox Code Playgroud)

但我会怀疑你是否真的想要运行无限制的查询,因此,我认为更简单的解决方法是limit在模板上添加一个合理的数字,就像你所做的那样.如果你的数量超过100,那么你的问题可能比模板语法的表现力要大.:-)