我会使用视图编写器调用模型从数据库中检索信息,但是我收到错误:“类'App \ Composers \ Region'找不到”
我的文件“filtersComposer”位于“composers”文件夹中,该文件夹自动加载了composer.json
在我的方法“compose($ view)”中,我将这个模型称为:
$regions = Region::all()->lists('region_intitule', 'region_id');
然后,例如我发送到我的视图
$view->with('localities', $regions)
但似乎无法访问Region类。 另外,Region类不在“composers”文件夹中,而是在我的“models”文件夹中。
请告诉我如何在我的类filtersComposer中从数据库中检索信息?
感谢您的帮助
“app / composers”中的作曲家服务提供商:
namespace App\Composers;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider {
public function register()
{
$this->app->view->composer('includes/filtersBar/verticalFilter', 'App\Composers\FiltersComposer');
}
}
FiltersComposer,也在“app / composers”
中namespace App\Composers;
Class FiltersComposer {
public function compose($view)
{
$regions = Region::all()->lists('region_intitule', 'region_id');
$view->with('localities', $regions);
}
}
此外,我的作曲家在命名空间中没有前缀“App \”时也不工作......但这不是问题!
答案 0 :(得分:1)
由于您的FiltersComposer位于App\Composers
命名空间中。 PHP认为您的Region是App \ Composers \ Region。
我相信您创建了Region模型的典型方式,它位于全局命名空间中。所以试试这个:
$regions = \Region::all()->lists('region_intitule', 'region_id');