【发布时间】:2014-04-19 15:45:55
【问题描述】:
在 Windows 7 中使用 Laravel 4 作曲家全新安装时,我在 routes.php 中:
Route::model('work', 'Work');
Route::get('/', function()
{
$works = Work::all();
$allWorks = Work::paginate(5);
return View::make('hello', compact('works', 'allWorks'));
});
在视图文件'hello.php'中:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Laravel PHP Framework</title>
</head>
<body>
<div class="container">
<?php foreach ($works as $work)
{
echo $work->title . '<br/>';
}
?>
</div>
<?php echo $allWorks->links(); ?>
</body>
</html>
我有一个包含 25 个条目的数据库。当我导航到“/”路线时,我会看到数据库的所有 25 个结果(所有 $work-title 字段),并在底部看到分页链接。当我单击分页链接时,url 正确更改为 localhost/laravel/public/?page=1 ... page=2 等,但始终显示所有 25 个结果。当我更改分页编号时,例如 $allWorks = work::paginate(7);,链接会相应更改。
我想我已经完全按照文档中的方式完成了,但显然我遗漏了一些东西。通过谷歌搜索,我看到 .htaccess 有时会干扰分页。这是我的:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我不了解正则表达式(其中的其他内容也不了解),但我已将其注释掉,似乎没有任何改变。任何人都可以帮忙吗?谢谢
我还有一个模型Work.php:
<?php
Class Work extends Eloquent
{
}
【问题讨论】:
标签: php regex .htaccess laravel pagination