Laravel paginacja

0

Mam taki problem mam sobie tabelę to znaczy dwie tabele i na stronie jest wyświetlany to za pomocą

$candidate->tabela->name 

Ta druga tabela czyli tabela i pole name
I teraz paginacje robię za pomocą
To mam taki błąd

Undefined property: stdClass::$project (View: /szceizka/index.blade.php)

Nie wiem jaki to jest błąd, ale chyba doczepia się o to, że próbuje wyciągnąć dane z drugiej tabeli, pierwszy raz robię tak paginacje wcześniej robiłem to ręcznie.

0

Wziąłem głęboki oddech i się wyluzowałem
Chodzi o to, że mam problem z paginacją bo ja standardowo robię to przez zwykłe odwołanie
$users = DB::table('users')->paginate(15);
Tylko, że wyciągam dane z dwóch tabel i ta funkcja nie działa z dwoma tabelami i dostaje komunikat
Undefined property: stdClass::$project (View: /szceizka/index.blade.php)

0

Wrzuć na pastebin index.blade.php i metodę z kontrolera.

0

masz dodaną referencję do fasady DB

0

Masz tutaj dużo problemów:

  1. $candidate->project->name to generuje Ci problem n + 1. Gdyby $candidate był instancją modelu, to byś w pętli dociągał projekt wykonując od cholery zapytań.
  2. Ale $candidate nie jest instancją modelu, bo DB::table - o ile się nie mylę - zwraca Ci kolekcję objektów stdClass, a nie modeli. Ta klasa nie ma takiej funkcjonalności jak Eloquent i nic nie wie na temat relacji.

Rozwiązanie jest proste (chyba zadziała):

Candidate::with('project')->paginate(15);

albo coś w tym stylu

DB::table('candidates')
        ->join('project', 'candidates.project_id', '=', 'procjets.id')
        ->paginate(15);

1 użytkowników online, w tym zalogowanych: 0, gości: 1