请原谅我问一个可能是初学者的问题。只是我真的在网上搜索而没有找到答案!SOF似乎是我发疯之前的最后选择。
我的问题是,我根本无法理解以下代码行的作用:
->with('i', ($request->input('page', 1) - 1) * 5);
它位于我的Controller index(request $ Request)方法中。
整体看起来像这样:
public function index(Request $request)
{
$books = Book::indexBooks()->paginate(20);
return view('bookCRUD.index', compact('books'))
->with('i', ($request->input('page', 1) - 1) * 5);
}
另一个用户写了这个,但是我听不懂。
该代码将获得所有产品的前5名,并按产品ID降序排列。然后将产品数据传递到ProductCRUD目录中名为index.blade.php的视图中。您可以在yourproject / resources / views上找到该目录。它还会闪烁一个名为i的会话变量(在视图中,您可以使用$ i来访问该变量),该变量具有名为page的输入/查询字符串形式的值(如果存在)。否则,$ request-> input('page',1)=1。根据该变量的使用,$ i将充当网格上每个页面的起始行号。
我将是最有建设性的答案!
该with()
方法用于将数据发送到视图。
该文档使其更加清晰:
将数据传递到视图
如前面的示例所示,您可以将数据数组传递给视图:
return view('greetings', ['name' => 'Victoria']);
以这种方式传递信息时,数据应为具有键/值对的数组。然后,您可以在视图内部使用其对应的键(例如)访问每个值
<?php echo $key; ?>
。作为将完整的数据数组传递给view
helper函数的替代with
方法,您可以使用该方法向视图中添加单个数据:return view('greeting')->with('name', 'Victoria');
如您所见,with()
接受两个参数:
因此,在您提供的代码中:
return view('bookCRUD.index', compact('books'))
->with('i', ($request->input('page', 1) - 1) * 5);
这意味着在视图中bookCRUD.index.blade.php
,$i
变量将可用,并且其值将是的结果$request->input('page', 1) - 1) * 5
。
因此,您可以使用它来做一些事情,例如:
<p> The interesting value is: {{ $i }} </p>
以下语句是等效的:
return view('a_nice_view')->with('manager', $user);
与另外一个:
return view('a_nice_view')->withManager($user); // sugared.
在这种情况下,这两个语句将使变量可用,$manager
以便在视图中使用。
与您的问题的第二部分有关,他/她说的是该行将返回5个产品。对于外观,他/她指的是compact('books')
零件。这将向视图返回一个变量(我可以假设是一个Book
对象集合)。
用法说明的其余内容只是您所要求内容的解释。唯一的细节是用户正在解释$i
变量将获得的值。他/她正在使用$request->input('field', 'default_variable')
来检索输入。检查文档。
检索输入值
使用一些简单的方法,您可以访问
Illuminate\Http\Request
实例中的所有用户输入,而不必担心该请求使用了哪个HTTP动词。无论HTTP动词如何,均可使用input方法来检索用户输入:$name = $request->input('name');
您可以将默认值作为第二个参数传递给输入法。如果请求中没有请求的输入值,则将返回此值:
$name = $request->input('name', 'Sally');
因此,正如您所看到的..这样做$request->input('page', '1')
意味着,如果page
在请求中定义了该字段,它将获得该值,如果不存在,则默认值为1
。只是。
这样看:
public function index(Request $request)
{
$books = Book::indexBooks()->paginate(20);
$value = ($request->input('page', 1) - 1) * 5; // this resolves the value to be retuned
// so, if 'page' is defined in the request it will get the value.
// if not, it will be '1', so doing the math: $value = 0.
return view('bookCRUD.index', compact('books'))
->with('i', $value);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句