首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么在这个上下文中不应该静态调用erro非静态方法?

为什么在这个上下文中不应该静态调用erro非静态方法?
EN

Stack Overflow用户
提问于 2018-06-02 07:36:04
回答 2查看 85关注 0票数 0

我正在尝试使用这个包“dannyvankooten/laravel- vat”加载一个带有国家的选择菜单,然后验证输入类型文本中插入的增值税编号。

所以我把这个放在一个表格里:

代码语言:javascript
复制
<div class="form-group font-size-sm">
    <select class="form-control" name="country" id="country">
        @foreach($countries as $country)
            <option value="{{$country}}">{{$country}}</option>
        @endforeach
    </select>
</div>
<div class="form-group font-size-sm">
    <label for="vat" class="text-gray">VAT</label>
    <input type="text" id="vat" name="vat" class="form-control" value="">
</div>

在RegistrationController中,我的一个方法是将视图的$countries返回到select菜单:

代码语言:javascript
复制
$countries = Countries::all();

但它看起来:

代码语言:javascript
复制
Non-static method DvK\Laravel\Vat\Countries::all() should not be called statically

你知道为什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-02 07:56:05

在您的特定情况下(laravel和facades),这是因为您在控制器中导入了错误的类。

你需要更换

代码语言:javascript
复制
use DvK\Laravel\Vat\Countries;

使用

代码语言:javascript
复制
use DvK\Laravel\Vat\Facades\Countries;

如readme @ https://github.com/dannyvankooten/laravel-vat中所示

facade提供了静态访问器,例如Countries::all()

票数 1
EN

Stack Overflow用户

发布于 2018-06-02 07:39:23

all不是Countries类中的静态方法。您应该首先创建一个Countries实例,然后调用其all方法:

代码语言:javascript
复制
$countries = new Countries();
$allCountries = $countries->all();

return view('congress.registration', ['countries' => $allCountries]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50652154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档