Laravel在视图中访问没有名称空间的类

时间:2015-09-30 00:43:24

标签: php laravel laravel-5 eloquent

通常情况下,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

1 个答案:

答案 0 :(得分:0)

对于Eloquent模型来说不是一个好主意,但从技术上讲,自Laravel 5.1以来你可以做service injection。但是再次,你应该更好地在你的控制器中执行此操作并只传入数据。

有些事情:

@inject('business', 'App\Business')

@section('content')
    {{ $business->find(1)->name }}
@stop