Laravel Eloquent ORM можно ли сохранять через связи

188
04 декабря 2018, 23:30

Допустим у меня есть две модели: User и Friend

И простое связывание один к одному:

public function friend() {
    return $this->hasOne('App\Friend');
}

Связывание таблиц по user_id упустим (и так понятно что оно есть)...

Суть вопроса: Правильно ли, искать нужный объект модели, через хелпер, затем через связывание и затем сохранять без прямого поиска по таблице?

Пример:

 $user = auth()->user();
 $friend = $user->friend;
 $friend->column = 'changevalue';
 $friend->save();

Никаких ошибок при таком использовании нет, всё работает как и задумывалось, но правильно ли это?

Answer 1

Да, это нормальная практика.

Вот документация - https://laravel.com/docs/5.6/eloquent-relationships#the-save-method

К тому же связи и созданы во избежания прямого поиска по таблице. Зачем делать лишний findOrFail, если через связь сделается тот же запрос, только красивее и лаконичнее.

READ ALSO
Проверить есть ли в строке кириллица

Проверить есть ли в строке кириллица

Есть код, который переводит верхний регистр в нижний

249
Конвертация *.raw с камеры GitUp G3 в *.tiff

Конвертация *.raw с камеры GitUp G3 в *.tiff

Всем приветВозникла такая проблема

197
Ошибка 0xc0000135 в QT после переноса проекта

Ошибка 0xc0000135 в QT после переноса проекта

Перенес проект на QT с компьютера с Windows 7 32-bit на ноутбук Windows 10 64-bitНа ноутбуки тот же компилятор, который был на компьютере (Qt_5_9_1_MinGW_32bit)

245
Указатель на буфер, альтернатива на java

Указатель на буфер, альтернатива на java

Вот например на си и с++ я передаю буфер, этот буфер строился из структурыИ вот например я получаю этот буфер по сети, накладываю указатель...

196