Невозможно обновить таблицы данных Eloquent в Laravel 9 ⇐ Php
Невозможно обновить таблицы данных Eloquent в Laravel 9
В моем приложении Laravel есть 3 модели: «Сотрудник», «Зарплата» и «Должность». Модель сотрудника «один ко многим» Отношения как с моделями зарплаты, так и с моделями должностей. Теперь мне нужно обновить данные с помощью функции PopularController updateEmployee. Контроллер сотрудников
публичная функция updateEmployee(Request $request, $id) { $employee = Сотрудник::find($id); $title = $employee->titles()->update($request->all); $salary = $employee->salaries()->update($request->all); если (is_null ($ сотрудник)) { return response()->json(['message' => 'Сотрудник не найден'], 404); } $employee->update($request->all()); возврат ответа ($ сотрудник, 200); } и мой маршрут API следующий
Route::put('updateEmployee/{id}','App\Http\Controllers\EmployeeController@updateEmployee'); Модель сотрудника
публичные функции title(): HasMany { return $this->hasMany(Title::class, 'emp_no'); } зарплаты государственных функций(): HasMany { return $this->hasMany(Salary::class, 'emp_no'); } Модель зарплаты
публичная функция сотрудника(): BelongsTo { return $this->belongsTo(Employee::class, 'emp_no'); } Модель заголовка
публичная функция сотрудника(): BelongsTo { return $this->belongsTo(Employee::class, 'emp_no'); } но при попытке обновления я получил следующее сообщение об ошибке
TypeError: Illuminate\Database\Eloquent\Builder::update(): Аргумент №1 ($values) должен иметь тип массива с заданным нулевым значением, вызываемый в F:\2023\code\2023\api\ vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php в строке 23 в файле F:\2023\code\2023\api\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Builder.php в строке 1009
Как я могу решить эту проблему?
В моем приложении Laravel есть 3 модели: «Сотрудник», «Зарплата» и «Должность». Модель сотрудника «один ко многим» Отношения как с моделями зарплаты, так и с моделями должностей. Теперь мне нужно обновить данные с помощью функции PopularController updateEmployee. Контроллер сотрудников
публичная функция updateEmployee(Request $request, $id) { $employee = Сотрудник::find($id); $title = $employee->titles()->update($request->all); $salary = $employee->salaries()->update($request->all); если (is_null ($ сотрудник)) { return response()->json(['message' => 'Сотрудник не найден'], 404); } $employee->update($request->all()); возврат ответа ($ сотрудник, 200); } и мой маршрут API следующий
Route::put('updateEmployee/{id}','App\Http\Controllers\EmployeeController@updateEmployee'); Модель сотрудника
публичные функции title(): HasMany { return $this->hasMany(Title::class, 'emp_no'); } зарплаты государственных функций(): HasMany { return $this->hasMany(Salary::class, 'emp_no'); } Модель зарплаты
публичная функция сотрудника(): BelongsTo { return $this->belongsTo(Employee::class, 'emp_no'); } Модель заголовка
публичная функция сотрудника(): BelongsTo { return $this->belongsTo(Employee::class, 'emp_no'); } но при попытке обновления я получил следующее сообщение об ошибке
TypeError: Illuminate\Database\Eloquent\Builder::update(): Аргумент №1 ($values) должен иметь тип массива с заданным нулевым значением, вызываемый в F:\2023\code\2023\api\ vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php в строке 23 в файле F:\2023\code\2023\api\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Builder.php в строке 1009
Как я могу решить эту проблему?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как создать псевдоним таблицы в запросах Laravel Eloquent (или с помощью Query Builder)?
Anonymous » » в форуме Php - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-