php - tablas - left join eloquent
Llamar al método indefinido Iluminar / Base de datos / Query / Builder:: save() (2)
Intento llamar al método save () de Eloquent en un registro existente pero obtengo un error del Query Builder de Illuminate.
Siga la documentación en el sitio web de Laravel en http://laravel.com/docs/eloquent#insert-update-delete para actualizar un modelo recuperado, y también vea el ejemplo aquí: Laravel Eloquent ORM save: update vs create , my code parece seguir la convención esperada, pero en su lugar aparece el error mencionado en el título de esta publicación.
$this->employee = Employee::where(''login'', $login);
$this->employee->first_name = ''John'';
$this->employee->last_name = ''Doe'';
$this->employee->save();
La clase Employee extiende Eloquent, y si creo una nueva instancia del modelo y luego establezco algunos atributos y luego llamo al método save (), realiza las instrucciones de inserción simplemente bien. ¿Qué me estoy perdiendo?
Aparentemente, el método ->get()
no funcionará con el método Eloquent ->save()
y debes usar ->first()
lugar.
Correcto: $this->employee = Employee::where(''login'', $login)->first();
Incorrecto: $this->employee = Employee::where(''login'', $login)->get();
Consulte http://laravel.io/forum/06-04-2014-symfony-component-debug-exception-fatalerrorexception-call-to-undefined-method-illuminatedatabaseeloquentcollectionave como referencia adicional.
tienes que buscar tu modelo después de dado un -> donde
$this->employee = Employee::where(''login'', $login)->get();
o
$this->employee = Employee::where(''login'', $login)->first();
si no haces eso, tu empleado Object $ this-> no sería uno y no podrías usar -> save ()