Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [laravel]Method Illuminate\Database\Query\Builder::save does not exist.
Crash89
post 15.06.2018, 15:04:59
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Stworzyłem logowanie i rejestracje za pomocą polecenia make:auth w laravelu.
Dodałem kilka własnych pól i kiedy zapisuję usera do bazy danych wyświetla mi się błąd:

Method Illuminate\Database\Query\Builder::save does not exist.

Phpstorm gdy używam na obiekcie metode save() ($user->save()) to wyświetla że ta metoda jest dostępna.

Kod jest praktycznie zgodny z dokumentacją z tymże dodałem własne kolumny do bazy danych.
Korzystam z RegisterConroller i metody create() lub próbowałem ręcznie uwtorzyć obiekt usera i wywołać metodę save na nim i problem występuje również.

Kiedy nie dodałem tych pól rejestracja działała.

Proszę napisać gdzie może leżeć błąd?

Ten post edytował Crash89 15.06.2018, 15:16:04
Go to the top of the page
+Quote Post
Pyton_000
post 15.06.2018, 15:31:19
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


W kodzie którego nie pokazałeś.
Go to the top of the page
+Quote Post
Crash89
post 15.06.2018, 15:46:46
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


  1. protected function create(array $data)
  2. {
  3. return User::create([
  4. 'user_name' => $data['name'],
  5. 'user_email' => $data['email'],
  6. 'user_password' => Hash::make($data['password']),
  7. 'user_field1' => $data['field1'],
  8. 'user_field2' => $data['field2'],
  9. 'user_field3' => $data['field3'],
  10. 'user_field4' => $data['field4'],
  11. 'user_field5' => $data['field5'],
  12. 'user_field6' => (array_key_exists( 'field6', $data)) ? true : false
  13. ]);
  14. }
  15.  
  16. protected function store(Request $request)
  17. {
  18. $user = $userModel->create($request->all());
  19.  
  20. }
  21.  
  22. //klasa user:
  23.  
  24. protected $fillable = [
  25. 'user_name', 'user_email', 'user_password', 'user_field1, '', 'user_field2', 'user_field3','user_field4', 'user_field5'
  26. ];


Pominałem walidację, ona działa prawidłowo

Ten post edytował Crash89 15.06.2018, 15:48:38
Go to the top of the page
+Quote Post
nospor
post 15.06.2018, 15:51:25
Post #4





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




Troche nie na temat ale jak widze takie potworki
'user_field6' => (array_key_exists( 'field6', $data)) ? true : false
to trudno nie wspomniec wink.gif
array_key_exists zwraca true albo false wiec robie tutaj IFa by zwrocic true albo false ponownie jest totalnei bez sensu. wystarczy poprostu

'user_field6' => array_key_exists( 'field6', $data)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Crash89
post 15.06.2018, 16:01:50
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Błąd był gdzie indziej, temat do zamknięcia

Ten post edytował Crash89 15.06.2018, 16:13:29
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 18:28