Ошибка SQLSTATE [42S22] в функции обновления Laravel 6 - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь запустить функцию обновления в моем приложении laravel, но каждый раз, когда я запускаю функцию, она выдает мне эту ошибку,

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: update `apps` set `domain` = Testinput.test.com, `apps`.`updated_at` = 2020-03-30 13:18:32 where `id` is null)

Вот моя функция обновления в контроллере,

public function update(Request $request,App $app, $id)
{
    $this->validate($request, [
        'domain' => ['required', 'string','min:2', 'max:255'],
    ],$request->all());

    $fullDomain = $request->domain;
    $app->domain=$fullDomain;
    $app = App::where('appId','=','1')->first()->update($request->all());
    return Redirect::back()->with('success',__('sentence.User updated successfully')); 
}

В моей таблице приложений нет столбца с именем id, мой столбец - appId

1 Ответ

4 голосов
/ 30 марта 2020

Вы должны сообщить Laravel, что вы используете первичный ключ, отличный от ожидаемого:

В вашей модели приложения добавьте свойство $primaryKey вместе с именем первичного ключа, который вы используете. используя в вашей базе данных:

class App extends Model
{
    protected $primaryKey = 'appId';
}
...