1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-23 14:57:46 +01:00

fix(api): Fix salvataggio relations

This commit is contained in:
Maicol Battistini 2022-02-01 12:26:38 +01:00
parent c2c1bde9bf
commit b8c272f5e8
No known key found for this signature in database
GPG Key ID: 4FDB0F87CDB1D34A

View File

@ -4,6 +4,8 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
@ -42,7 +44,12 @@ class ApiController extends Controller
foreach ($request->input('data.relationships') as $key => $data) {
$model = $this->relationships[$key];
$instance->{$key}()->associate($model::find(Arr::get($data, 'data.id')));
$relation = $instance->{$key}();
if ($relation instanceof HasOne) {
$relation->save($model::find(Arr::get($data, 'data.id')));
} elseif ($relation instanceof HasMany) {
$relation->saveMany($model::findMany(Arr::get($data, 'data.id')));
}
}
$created = $instance->save();