• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Laravel9 błędy przy aktualizacji

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
219 wizyt
pytanie zadane 21 kwietnia 2022 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)

Ogólnie aktualizacja nieudana, gdyż wystąpiło bardzo dużo błędów. Zainstalowałem więc nowy projekt i próbowałem porobić jakieś migracje i inne rzeczy. Napotkałem np.

Undefined type 'DB'.intelephense(1009)

To jest akurat przy utworzonym seederze dla bazy danych co ciekawe składnia podpowiada błąd, a jednak wszystko działa, tzn ładuje mi bazę normalnie i wszystko jest poprawnie.
Skąd pojawia się taki błąd? Ogólnie chciałem zainstalować sobie i potestować dodatek do scrapingu Roach.php okazało się że wymaga PHP w Wersji 8 i tak znalazłem się właśnie w tym miejscu.

komentarz 21 kwietnia 2022 przez Grzegorz Mikina Dyskutant (8,060 p.)
przeniesione 21 kwietnia 2022 przez Arkadiusz Waluk
<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use DB;

class test2sSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('test2s')->insert([          <<<<- tu mam wykropkowane na czerwono DB i wskazuje na błąd
            'name'=>'*******',
            'img'=>'123',
            'alt'=>'xyz'
        ]);
    }
}

Jak mogę to obejść, czy o czymś zapomniałem?

komentarz 21 kwietnia 2022 przez Arkadiusz Waluk Ekspert (289,670 p.)
Skąd jest ten błąd? Bo nie wygląda to jak komunikat z interpretera PHP. Jeśli to rzuca tylko jakiś edytor/IDE/inny analizator kodu, to być może wszystko działa, a samo narzędzie nie radzi sobie z Laravelowymi fasadami.
komentarz 21 kwietnia 2022 przez Grzegorz Mikina Dyskutant (8,060 p.)

Komunikat pochodzi z intelephense

1 odpowiedź

+1 głos
odpowiedź 21 kwietnia 2022 przez Arkadiusz Waluk Ekspert (289,670 p.)

Chodzi więc jak rozumiem tylko o sugestię generowaną przez edytor, a sam kod normalnie działa. Wynika to z tego, że Laravel używa fasad, które nie są poprawnie rozpoznawane przez edytory czy narzędzia bez pełnego importu. Tutaj masz to dość dokładnie opisane: https://laravel.com/docs/9.x/facades

Aby temu zaradzić możesz więc zawsze importować pełne klasy, czyli zamiast use DB; użyć 

use Illuminate\Support\Facades\DB;

Alternatywnie możesz też użyć biblioteki jak: https://github.com/barryvdh/laravel-ide-helper która wygeneruje specjalny plik zawierający odniesienia do fasad i wtedy problemu z użyciem tak, jak robisz to obecnie, być nie powinno.

komentarz 21 kwietnia 2022 przez Grzegorz Mikina Dyskutant (8,060 p.)
To rozwiązanie już sprawdzałem, za laravel ide helper dziękuje.

Podobne pytania

+1 głos
1 odpowiedź 346 wizyt
0 głosów
0 odpowiedzi 314 wizyt
pytanie zadane 11 kwietnia 2017 w PHP przez Paweł Łozowski Nowicjusz (180 p.)
0 głosów
4 odpowiedzi 483 wizyt

93,160 zapytań

142,171 odpowiedzi

321,892 komentarzy

62,489 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 453p. - Marcin Putra
  2. 453p. - dia-Chann
  3. 447p. - Łukasz Piwowar
  4. 443p. - CC PL
  5. 431p. - Łukasz Eckert
  6. 428p. - rafalszastok
  7. 423p. - Michal Drewniak
  8. 423p. - Adrian Wieprzkowicz
  9. 418p. - rucin93
  10. 410p. - Piotr Aleksandrowicz
  11. 408p. - ksalekk
  12. 402p. - Mariusz Fornal
  13. 401p. - Dawid128
  14. 383p. - Hubert Chęciński
  15. 340p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...