Php Laravel定制刀片布线问题

Php Laravel定制刀片布线问题,php,laravel,Php,Laravel,首先,我完全不会使用laravel,所以请容忍我:) 问题是,我正在尝试向routes.php文件添加一个新的刀片路由,我猜这是最基本的内容 例如: Route::get('testing', array('as' => 'testing', function() { return View::make('testing'); })); 保存后,我出现以下错误: Fatal error: Uncaught exception 'Illuminate\Dat

首先,我完全不会使用laravel,所以请容忍我:) 问题是,我正在尝试向routes.php文件添加一个新的刀片路由,我猜这是最基本的内容

例如:

Route::get('testing', array('as' => 'testing', function()
    {
        return View::make('testing');
    }));
保存后,我出现以下错误:

Fatal error: Uncaught exception 'Illuminate\Database\Eloquent\ModelNotFoundException' with message 'No query results for model [App\Models\Page].' in /var/www/htdocs/myappname/vendor/illuminate/database/Illuminate/Database/Eloquent/Builder.php:126 Stack trace: #0 /var/www/htdocs/myappname/app/Models/Page.php(100): Illuminate\Database\Eloquent\Builder->firstOrFail() 
#1 [internal function]: App\Models\Page->scopeFindByReference(Object(Illuminate\Database\Eloquent\Builder), 'testing') 
#2 /var/www/htdocs/myappname/vendor/illuminate/database/Illuminate/Database/Eloquent/Builder.php(834): call_user_func_array(Array, Array) 
#3 /var/www/htdocs/myappname/vendor/illuminate/database/Illuminate/Database/Eloquent/Builder.php(915): Illuminate\Database\Eloquent\Builder->callScope('scopeFindByRefe...', Array) 
#4 [internal function]: Illuminate\Database\Eloquent\Builder->__call('findByReference', Array) 
#5 [internal function]: Illuminate\Database\Eloquent\Builder->findByReference('testing') in /var/www/htdocs/myappname/vendor/illuminate/database/Illuminate/Database/Eloquent/Builder.php on line 126
在routes.php中有类似的内容,但它不会加载刀片服务器,而是加载在cms中创建的具有slug测试的页面。如果我删除或重命名该页面,则会弹出常规的404错误

 if ($page->slug == 'testing') {
            $page->view = 'testing_homebld';
        }
不知道还能做什么,因为应用程序开发人员没有留下任何文档


谢谢大家的帮助

听起来您遇到了路由冲突。
if($page->slug=='testing'){
代码可能在PageController.php控制器中,我想(不是您所说的routes.php);错误消息也描述了页面模型。这表明其他路由正在处理您的请求,而不是您的测试路由

我猜routes.php中有类似的内容,它正在捕获您对
http://your-site/testing
(控制器名称和方法显然可以是代码中的任何内容):

这将匹配并处理对
http://your-site/testing

您的新测试路由可能出现在此页面路由之后,这意味着它将被忽略-要匹配的第一个路由优先,后续匹配将被忽略


最快的修复方法是将新的测试路由移到冲突的页面路由之上,这样它将优先。

听起来像是有路由冲突。
如果($page->slug=='testing'){
代码可能在PageController.php控制器中,我想(不是您所说的routes.php);错误消息还描述了页面模型。这表明其他路由正在处理您的请求,而不是您的测试路由

我猜routes.php中有类似的内容,它正在捕获您对
http://your-site/testing
(控制器名称和方法显然可以是代码中的任何内容):

这将匹配并处理对
http://your-site/testing

您的新测试路由可能出现在此页面路由之后,这意味着它将被忽略-要匹配的第一个路由优先,后续匹配将被忽略


最快的修复方法是将新的测试路由移到冲突的页面路由之上,这样它将优先。

为什么不使用route::get('testing',function(){return View::make('testing');});?错误表示找不到页面模型。您的应用程序是否试图在某处创建一个页面模型的实例(在视图中,或者理想情况下在控制器中)?另外,您使用的是什么版本的Laravel?您好,如果我使用它,我会得到以下错误:致命错误:在第201行的/var/www/htdocs/myappname/routes.php中找不到类“Route”,真奇怪。:/为什么不使用Route::get('testing',function(){return view::make('testing');})错误表示找不到页面模型。您的应用程序是否试图在某个位置(视图中,或者理想情况下是控制器中)创建页面模型的实例?另外,您使用的是什么版本的Laravel?您好,如果我使用它,我会得到以下错误:致命错误:在第201行的/var/www/htdocs/myappname/routes.php中找不到类“Route”,非常奇怪。:/Hey,如果我添加上面的代码,我会得到以下错误:在第201行的/var/www/htdocs/myappname/routes.php中找不到类“Route”,非常奇怪事情正在发生,我想我必须继续挖掘这些文件,并找出到底发生了什么。感谢所有的答案!添加什么代码?我建议的只是将现有代码移动到routes文件中。嘿,如果我添加上面的代码,我会得到以下错误:致命错误:在/var/www/htdocs/myappname/routes.php中找不到类“Route”n第201行发生了非常奇怪的事情,我想我必须继续挖掘这些文件,并找出到底发生了什么。感谢所有的答案!添加什么代码?我建议的只是在路由文件中移动现有的代码。
Route::get('/{slug}', 'PageController@page');