Допустим у меня есть две модели: User и Friend
И простое связывание один к одному:
public function friend() {
return $this->hasOne('App\Friend');
}
Связывание таблиц по user_id упустим (и так понятно что оно есть)...
Суть вопроса: Правильно ли, искать нужный объект модели, через хелпер, затем через связывание и затем сохранять без прямого поиска по таблице?
Пример:
$user = auth()->user();
$friend = $user->friend;
$friend->column = 'changevalue';
$friend->save();
Никаких ошибок при таком использовании нет, всё работает как и задумывалось, но правильно ли это?
Да, это нормальная практика.
Вот документация - https://laravel.com/docs/5.6/eloquent-relationships#the-save-method
К тому же связи и созданы во избежания прямого поиска по таблице. Зачем делать лишний findOrFail, если через связь сделается тот же запрос, только красивее и лаконичнее.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей