Laravel syncWithoutDetaching с дополнительными полямиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel syncWithoutDetaching с дополнительными полями

Сообщение Anonymous »


Я пытаюсь сохранить простое отношение belongsToMany в своей базе данных. Сначала моя таблица:

Schema::create('user_activity_log', function (Blueprint $table) { $table->unsignedBigInteger('activity_id'); $table->unsignedBigInteger('log_id'); $table->unsignedInteger('sets'); $table->unsignedInteger('reps'); $table->primary(['activity_id', 'log_id']); $table->foreign('activity_id')->references('id')->on('user_activities') ->onDelete('каскад') ->onUpdate('каскад'); $table->foreign('log_id')->references('id')->on('user_logs') ->onDelete('каскад') ->onUpdate('каскад'); }); Мои модели Журнал и Активность имеют следующие отношения:

Журнал:

активность публичной функции() { return $this->belongsToMany(Activity::class, 'user_activity_log', 'log_id', 'activity_id')->withPivot(['sets', 'reps']); } Действие:

журналы общедоступных функций() { return $this->belongsToMany(Log::class, 'user_activity_log', 'activity_id', 'log_id')->withPivot(['sets', 'reps']); } При добавлении нового действия в существующий журнал в моем методе магазина я делаю следующее:

$log->activities()->syncWithoutDetaching([ $request->input('activity_id') => [ 'наборы' => $request->input('наборы'), 'reps' => $request->input('reps') ] ]); Я получаю эту ошибку:

SQLSTATE[42S22]: Столбец не найден: 1054 Неизвестный идентификатор столбца в разделе «where» выберите * из `user_activity_log`, где `id` = 0, предел 1 Однако данные сохраняются, поэтому, когда я обновляю страницу и снова отправляю форму, ошибок не возникает. Я не могу понять, почему он пытается найти id в таблице user_activity_log.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»