所以我有文件夹app/Models/Blog
,其中有两个文件:Posts.php
和Tags.php
。这两个文件在同一个App\Models\Blog
命名空间中,但要使用多对多关系,我需要调用$this->belongsToMany('App\Models\Blog\Tags');
,否则我得到一个异常,没有找到标签类...是否有可能以某种方式摆脱App\Models\Blog\
命名空间并仅调用Tags
?
答案 0 :(得分:1)
这是可能的,但我认为这是一个坏主意。您可以在app / Config / app.php中为您的类添加别名,以便将App \ Models \ Blog \ Tags别名为Tags,就像laravel类别名一样。
我认为这是一个坏主意,因为它会污染根命名空间。例如,您最终会遇到类命名冲突,因为您尝试将App \ Models \ Blog \ Tags和AnotherApp \ Models \ PaymentGateway \ Tags别名为同一别名。这是命名空间旨在解决的问题,但是根类名称的别名类会使问题重新出现。