Php Laravel 5.1-路由是正确的,在本地主机上工作得很好,在线给我404

Php Laravel 5.1-路由是正确的,在本地主机上工作得很好,在线给我404,php,laravel,routes,eloquent,laravel-5.1,Php,Laravel,Routes,Eloquent,Laravel 5.1,我刚刚像往常一样正确配置了路线: Route::get('/news/', 'PagesController@news'); Route::get('/news/{id}', 'PagesController@newsDetail'); 在我的PagesController中,我还创建了两个要传递给视图的变量: $relatedOlder = ( News::where('created_at', '<', $currentPostDate) ->orderBy('

我刚刚像往常一样正确配置了路线:

Route::get('/news/', 'PagesController@news');
Route::get('/news/{id}', 'PagesController@newsDetail');
在我的PagesController中,我还创建了两个要传递给视图的变量:

$relatedOlder = (
    News::where('created_at', '<', $currentPostDate)
    ->orderBy('created_at', 'desc')->value('created_at') != '') ? 
    News::where('created_at', '<', $currentPostDate)
    ->orderBy('created_at', 'desc')->firstOrFail() : 
    News::where('created_at', '>', $currentPostDate)
    ->orderBy('created_at', 'asc')->skip(1)->take(2)->firstOrFail();

$relatedNewer = (
    News::where('created_at', '>', $currentPostDate)
    ->orderBy('created_at', 'asc')->value('created_at') != '') ? 
    News::where('created_at', '>', $currentPostDate)
    ->orderBy('created_at', 'asc')->firstOrFail() : 
    News::where('created_at', '<', $currentPostDate)
    ->orderBy('created_at', 'desc')->skip(1)->take(2)->firstOrFail();
$relatedOlder=(
新闻::where('created_at','',$currentPostDate)
->orderBy('created_at','asc')->skip(1)->take(2)->firstOrFail();
$relatedNewer=(
新闻::where('created_at','>',$currentPostDate)
->orderBy('created_at','asc')->value('created_at')!=''?
新闻::where('created_at','>',$currentPostDate)
->orderBy('created_at','asc')->firstOrFail():

新闻::在线数据库中哪里有('created_at','that model->id?例如,你忘了种子吗?我的在线数据库是一样的,我已经检查了不止一次。在我的在线服务器上,我没有从终端访问和使用php artisan的权限,但我已经从本地主机phpmyadmin导出。你是否没有启用mod_rewrite(或者主机不允许.htaccess覆盖)?404页面是Laravel风格的404还是通用web服务器404?错误是Laravel风格的404,我在GoDaddy服务上。您真的应该更改这些变量,使其不使用
firstOrFail()
-很可能给定的项目没有relatedOlder或RelatedNew(如果它是第一个、最后一个或唯一的项目,对吗?)猜测本地和在线之间的差异在于您的数据库内容不同。只需将
firstOrFail()
s更改为
first()
s,并在视图中进行适当的检查,以显示/不显示某些链接或这些变量的用途。