我有2页:home.blade和listpost.blade
这是菜单导航栏.blade的简单查询:
$query = 类别::在哪里('启用', '=', ENABLE_CATEGORY(;
它在home.blade中工作,但在listpost.blade中不起作用。尽管两个页面都使用@include(导航栏(。
这是HomeController (return viewhome.blade( 和 ListPostController(return view listpost.blade(。两者都使用该查询,但只有HomeController(返回视图home.blade(在工作。在 ListPostController 中,使用 category::all(( 正在工作,但 where(( 不起作用。
为什么以及如何解决这个问题?
Home.blade 和 listpost.blade
服务中的查询
我假设两个刀片都有不同的ENABLE_CATEGORY
值。
MVC 框架中控制器的重点是与模型通信并将适当的数据发送到视图(刀片(。您的视图不应与数据库通信并获取数据。
尝试这样的事情:
基本控制器.php
class BaseController extends Controller {
protected $ENABLED = 1;
}
主控制器.php
class HomeController extends BaseController {
public function show()
{
$categories = Category::where('enable', $this->ENABLED);
return view('home')->with('categories');
}
}
列表控制器.php
class ListController extends BaseController {
public function show()
{
$categories = Category::where('enable', $this->ENABLED);
return view('listpost')->with('categories');
}
}
我修好了!我忘了@extends('news.master')
在master.blade.php
@include('news.block.navbar')
@yield('content')
在listpost.blade.php
@extends('news.master')
@section('content')
@endsection