【发布时间】:2015-04-06 13:50:51
【问题描述】:
我正在开发基于 laravel 5 的应用程序。
我希望我的页面 url 可以是任何东西,并根据我从 cms 控制面板附加的控制器管理不同的页面。
在我的 routes.php 文件中,我有这样的代码
Route::get('{slug}/{params?}', 'site\PagesController@getPage')->where('params', '(.*)');
我的 PagesController 看起来像这样
<?php namespace App\Http\Controllers\site;
use App\Http\Controllers\Controller;
use App\Pages;
class PagesController extends Controller {
public function getPage($slug, $params = null)
{
if($params)
{
// dd($params);
}
$page = PAGES::whereSlug('/'.$slug)->first();
if(count($page)) {
\App::make('App\Http\Controllers\site\\'.$page->controller)->show($page->id);
}
else {
\App::abort(404);
}
}
}
当我从被调用的控制器方法 (show) 转储数据时它正在工作,但该方法不返回值。例如,如果我执行 dd($item) 它会显示正确的数据,但 return $item 不起作用。 可能是什么问题?
您对更好的解决方案的建议也将受到高度赞赏:)
谢谢!
【问题讨论】:
-
如果您对我的回答感到满意,您可以接受 :)