I have a code with saving a article. With my article I have a photo ('img'), which I want to add to Model Article in field 'img'. How I can do it with using a best practices in Laravel?
ArticleController:
public function __construct(Article $article, ArticleService $articleService)
{
$this->article = $article;
$this->articleService = $articleService;
}
public function store(StoreRequest $request)
{
if($request->file())
{
$file = ($request->file())['img'];
$fileName = time().'_'.rand().'.'.$file->extension();
$file->move(public_path('img/articles'),
$fileName);
$request->img= $fileName;
}
$article = $this->article->create($request->validated());
return redirect(route('article.index',['article' => $article->id]));
}
Model Article:
protected $fillable = [
'title_en',
'body_en',
'title_pl',
'body_pl',
'title_ru',
'body_ru'
];
public static function boot()
{
parent::boot();
static::saving(function ($model) {
$model->slug = Str::slug($model->title_en);
});
}