Laravel 5.1 - 如何从主页面的数据库加载内容

时间:2015-09-04 02:37:47

标签: php laravel-5 blade

我在Laravel建立了一个可管理的网站。我有一个自定义类,它从数据库加载页面/窗口小部件的内容并返回HTML。

/**
 * Loads a page content from the database
 * 
 * @param Id of the page, it can be a number or class constant
 * @return html
 */
public function pageContent($id)
{
    $content = DB::table('pages')->where('id', '=', $id)->first();
    return $content->content;
}

我们假设网站管理员在该页面中输入了以下内容:

"保留所有权利,blablabla 2015,联系我们:488 889 77 88"

我希望它出现在网站页脚中。我的一些母版页代码是。

<body>

    @include('layouts.mainmenu')

    @yield('body')

    <div class="footer">
        {{ I WANT TO HAVE THE FOOTER FROM THE DATABASE HERE! }}
    </div>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="{{ asset('js/bootstrap.min.js') }}"></script>
    <script src="{{ asset('js/main.js') }}"></script>

    @yield('bottom-js')

</body>

1 个答案:

答案 0 :(得分:0)

如果您的功能在 HomeController

HomeController中:

  public function pageContent($id)
 {
   $content = DB::table('pages')->where('id', '=', $id)->first();
   return $content;
  }

  public function index()
  {
    $content = $this->pageContent();
    return view('your_master_blade', compact('content'));
  }

在主刀片内查看:

<body>

@include('layouts.mainmenu')

@yield('body')

<div class="footer">
    @foreach($content as $cont)
       {{$cont->id}}
         //so on and so forth
    @endforeach
    {{ I WANT TO HAVE THE FOOTER FROM THE DATABASE HERE! }}
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="{{ asset('js/bootstrap.min.js') }}"></script>
<script src="{{ asset('js/main.js') }}"></script>

@yield('bottom-js')