通常情况下,laravel开箱即用,我可以访问默认的"用户"在任何视图中都没有为命名空间路由添加前缀的模型,如下所示:
User::find(1);
但是,如果我创建另一个模型,例如 - " Business",为了在视图中访问它,我需要执行以下操作:
App\Business::find(1);
有没有办法"使用"所有视图中的全局类,所以它就像User类一样工作?
提前致谢。
编辑: 如果我在blade.php文件中执行以下操作,它可以工作,例如:
@extends('layouts.main')
@section('content')
<?php
use App\Business;
?>
{{ Business::find(1)->name }}
@stop
但这似乎是一种不那么干净的方式。或者我错了,这是可以接受的?
P.S - 使用Laravel 5.1
答案 0 :(得分:0)
对于Eloquent模型来说不是一个好主意,但从技术上讲,自Laravel 5.1以来你可以做service injection。但是再次,你应该更好地在你的控制器中执行此操作并只传入数据。
有些事情:
@inject('business', 'App\Business')
@section('content')
{{ $business->find(1)->name }}
@stop