我想从数据库中获取一些数据并在布局页面上显示,我基本上已经开始构建一个小型CMS进入Laravel并且到目前为止一切都很好但现在我已经在墙上,并且可以找不到解决方案。
我有一个像这样的布局刀片文件:http://paste.laravel.com/1fB1没有majot,但你会看到我在那里和我的控制器中使用了$ page-> meta_title等:
public function home()
{
$pages = Pages::all();
return View::make('frontend/home')->with('pages',$pages);
}
我有一个页面模型正在做其他事情真的是这样:
class Pages extends Eloquent {
protected $table = 'pages';
}
那么为什么它试图获得非对象的属性,我真的不想使用foreach,因为这将成为我的'测试'网站的前端,所以foreach不适合。
答案 0 :(得分:0)
如果您不想循环访问这些项,则需要将这些项作为多维数组进行访问。
$pages[0]['field_name_here']
或
$pages[1]['field_name_here']
答案 1 :(得分:0)
在不知道您希望CMS如何工作的情况下,它有点难以回答。
例如,您可以在routes.php文件中有一个{pagename}
的路由,然后有一个页面控制器,您可以从传入的变量中获取所请求的路由。这将加载您想要的页面使用变量
public function page( $pagename ) {
$page = Page::where('page_title', '=', $pagename)->first();
View::make('frontend/page', array( 'page' => $page ));
}
在视图中使用类似路径和控制器,您可以使用{{ $page->content }}
从数据库中获取所请求页面的内容并显示它。
希望这有帮助。
编辑:示例路线:
Route::get('{pagename}', 'PageController@page');