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

Laravel9 błędy przy aktualizacji

0 głosów
355 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 (291,270 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 (291,270 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ź 825 wizyt
0 głosów
0 odpowiedzi 368 wizyt
pytanie zadane 11 kwietnia 2017 w PHP przez Paweł Łozowski Nowicjusz (180 p.)
0 głosów
4 odpowiedzi 656 wizyt

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,138 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2658p. - dia-Chann
  2. 2630p. - DziarnowskiJ
  3. 2590p. - Łukasz Piwowar
  4. 2550p. - raydeal
  5. 2529p. - Adrian Wieprzkowicz
  6. 2478p. - rucin93
  7. 2348p. - Łukasz Eckert
  8. 2340p. - CC PL
  9. 2184p. - Maurycy W
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - 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

Kursy INF.02 i INF.03
...