Laravel 5 在laravel 5的视图中使用模型函数

Laravel 5 在laravel 5的视图中使用模型函数,laravel-5,eloquent,laravel-5.6,Laravel 5,Eloquent,Laravel 5.6,我有一个项目,我有很多能说会道的模特, 在大多数页面上,我需要使用多个模型及其函数来正确构建页面 我习惯了这种语法: use App\CustomFolder\CustomModel; CustomModel::all(); // or whatever function / data I need 虽然如前所述,我现在有大约27个模型,我需要在每一页多个。所以我创建了一个刀片布局(母版页),在那里我链接了所有这些模型,但现在看来这些模型无法从视图本身调用 那么,我怎样才能: 使这些模型在全

我有一个项目,我有很多能说会道的模特, 在大多数页面上,我需要使用多个模型及其函数来正确构建页面

我习惯了这种语法:

use App\CustomFolder\CustomModel;
CustomModel::all(); // or whatever function / data I need
虽然如前所述,我现在有大约27个模型,我需要在每一页多个。所以我创建了一个刀片布局(母版页),在那里我链接了所有这些模型,但现在看来这些模型无法从视图本身调用

那么,我怎样才能:

  • 使这些模型在全球范围内可用(首选)
  • 使布局中我调用的模型(
    使用模型;
    )也可以从我的视图中查看

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

在控制器中,您可以添加并使用以下常规语法:

使用App\CustomFolder\CustomModel;
CustomModel::all();//或者我需要的任何函数/数据

了解有关在Laravel中使用控制器的更多信息

编辑


为了不必总是在每个控制器中键入
使用Path/To/Model
,您可以在
config/app.php
中将模型添加到
别名中。通过这种方式,您可以添加例如
'CustomModel'=>App\Path\To\CustomModel
,并将其作为
\CustomModel

在控制器方法中使用,尽管这是一种不好的做法,将使MVC无效。但您可以在blade中的php标记或{{}大括号中这样做。
\App\Models\ModelName::get()

虽然问题不会改变…,但我如何避免每次都必须键入多个模型并将它们添加到视图中(从控制器)。如何在每个视图中创建所需模型的全局列表(从我的控制器调用视图时)?@RafaelLambelin这对您有帮助吗?确实有帮助,我应该在控制器中使用模型,而不是在视图中使用模型,这为我指明了正确的方向,别名帮助我大大缩短了代码!谢谢:)您可以为此目的使用视图生成器:或者在您的情况下使用\App\CustomFolder\CustomModel::all();