HW4 is completed#45
Conversation
| use Illuminate\Support\Carbon; | ||
|
|
||
| /** | ||
| * Пользователи |
There was a problem hiding this comment.
Наличие аннотаций - 👍
Но дополнительно я рекомендую вместо неявных property с магическими методами под капотом, использовать явные геттеры и спрятать всю магию в них внутри модели. Вне модели - использовать только геттеры.
|
|
||
| public function image(): MorphOne | ||
| { | ||
| return $this->morphOne(Image::class, 'image'); |
There was a problem hiding this comment.
Морфы по умолчанию добавляют в колонку _type Fully Qualified Class Name. Никогда не следует хранить имена классов в БД. Делая это вы стреляете себе в ногу, делая рефакторинг сложным и опасным. Класс перенесете в другую папку, и все сломается, а вы можете даже не заметить. Вместо этого можно использовать свои ключи и мэппинг на классы в коде: https://laravel.com/docs/11.x/eloquent-relationships#custom-polymorphic-types
| * @method static \Illuminate\Database\Eloquent\Builder<static>|BaseModel query() | ||
| * @mixin \Eloquent | ||
| */ | ||
| class BaseModel extends Model {} |
There was a problem hiding this comment.
На случай, если нужно будет что-то добавить во все модели сразу. Не знаю, логирование какое-нибудь.
No description provided.