Привет всем. У меня вопрос по оптимизации. Как можно сделать проще? Есть две модели. School belongsto Address. Address hasmany Schools. И я хочу изменить адрес школы, но таким образом, чтобы тот же адрес других школ оставался неизменным. Вот мой код:
$address = $school->address;
$hasAddressAnotherSchool = $address->schools()->where('id','<>',$school->id)->exists();
if ($hasAddressAnotherSchool) {
//если есть другие школы под тем же адресом, создаем новый
DB::transaction(function () use ($request, $school, $address) {
$address = $this->address->save($request);
$school->update([
'address_id' => $address['id']
]);
});
}
else {
//иначе апдейтим старый
$this->address->update($request, $school);
}