Я пытаюсь выполнить настройку самоссылки, чтобы пользователь мог добавить объект идентичного типа в свою реляционную таблицу.
Он отлично работает на моей локальной машине и в моей промежуточной среде, но на производстве он продолжает выдавать ошибку. Местные и промежуточные прогоны php 7 и производственные прогоны php 5; но я не думаю, что ошибка связана с этим?
Я действительно не могу понять, почему — так что я очень ценю любую помощь!
Я пометил конкретную строку с (ошибка), который вызывает ошибку.
контроллер: BasicCalculationController.php
$bcItem = BasicCalculation::with( 'unit' )->find( $id );
Error: $basicCalculation->basicCalculation()->save( $bcItem, [
'organization_id' => $org->id,
'quantity' => $quantity
] );
модель BasicCalculation.php:
public function basicCalculation() {
return $this->belongsToMany( 'App\Models\BasicCalculation', 'calculations_basic_calculations', 'calculation_id', 'basic_calculation_id' )->withPivot( 'organization_id', 'quantity' )->withTimestamps();
}
Отлично работает на локальной + постановке. Не работаю на производстве.
Ошибка, которая возвращается из MySQL:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`calcueasy`.`calculations_basic_calculations`, CONSTRAINT `calculations_basic_calculations_calculation_id_foreign` FOREIGN KEY (`calculation_id`) REFERENCES `calculations` (`id`)) (SQL: insert into `calculations_basic_calculations` (`basic_calculation_id`, `calculation_id`, `created_at`, `organization_id`, `quantity`, `updated_at`) values (560, 38, 2018-11-08 10:06:13, 1, 22.00000, 2018-11-08 10:06:13)) in C:\laragon\www\CalcuEasy\vendor\laravel\framework\src\Illuminate\Database\Connection.php:770
Обновить:
Производственный стол:
Постановочный стол:
Задача ещё не решена.
Других решений пока нет …