Почему кажется, что в этом контексте нестатический метод не должен вызываться статически? - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь использовать этот пакет "dannyvankooten / laravel-vat", чтобы загрузить меню выбора со странами, а затем проверить номер НДС, вставленный в текст ввода типа.

Так что у меня есть это в форме:

<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 = Countries::all();

Но это выглядит:

Non-static method DvK\Laravel\Vat\Countries::all() should not be called statically

Знаете почему?

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

В вашем конкретном случае (laravel & facades) это потому, что вы импортировали неверный класс в свой контроллер.

Вам необходимо заменить

use DvK\Laravel\Vat\Countries;

на

use DvK\Laravel\Vat\Facades\Countries;

как показано в файле readme @ https://github.com/dannyvankooten/laravel-vat

Фасад - это то, что обеспечивает статический доступ, например Countries::all()

0 голосов
/ 02 июня 2018

all не является статическим методом в классе Countries.Сначала вы должны создать экземпляр Countries, а затем вызвать его метод all:

$countries = new Countries();
$allCountries = $countries->all();

return view('congress.registration', ['countries' => $allCountries]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...