在laravel 5

时间:2018-04-24 07:33:10

标签: laravel-5 eloquent laravel-5.6

我有一个项目,我有相当数量的雄辩模型, 在大多数页面上,我需要使用多个模型及其功能来正确构建页面。

我习惯了这种语法:

use App\CustomFolder\CustomModel;
CustomModel::all(); // or whatever function / data I need

虽然如上所述我现在有大约27个模型,但每页都需要多个模型。所以我创建了一个刀片布局(母版页),我链接了所有这些模型,但现在看来这些模型无法从视图本身调用。

那么我怎么能:

  • 使这些模型全球可用(首选)
  • 这样就可以在我的视图中找到我在布局中调用的模型(use Model;)。

2 个答案:

答案 0 :(得分:1)

您实际上应该在控制器方法中获取所有资源,而不是在视图中。这违背了Laravel和Eloquent都使用的MVC模式。

在控制器中,您可以使用正常语法添加和使用它们:

use App\CustomFolder\CustomModel; CustomModel::all(); // or whatever function / data I need

了解有关在Laravel here中使用控制器的详情。

修改

要不必始终在每个控制器中键入Use Path/To/Model,您都可以将模型添加到aliases中的config/app.php。这样您就可以添加例如'CustomModel' => App\Path\To\CustomModel并在控制器方法中将其用作\CustomModel

答案 1 :(得分:1)

虽然这是一种不好的做法,但会使MVC无效。但你可以在php标签或者刀片中的{{}}大括号内做这样的事情。     \ APP \模型\ MODELNAME ::的get();