"Тонкие контроллеры толстые модели"
Правильно ли я реализовал практику: "Тонкие контроллеры толстые модели" (код работает, я имею в виду теорию):
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Product;
class ProductController extends Controller
{
protected $client;
public function __construct(Product $product)
{
$this->client = $product;
}
public function store(Request $request) //добавляет объявление в базу
{
$input = $request->all();
$user_id = Auth::user()->id;
$this->client->saveInStorage($input, $user_id);
$path4 = 'Объявление добавленно!';
return view('create-qaz', compact('path4'));
}
Код модели:
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class Product extends Model
{
public function saveInStorage($input, $user_id)
{
$wsx = $input['foto'];
$path = Storage::disk('public')->put('uploads', $wsx);
$this->name = $input['name'];
$this->category = $input['cat'];
$this->user_id = $user_id;
$this->file = $path;
$this->old_price = $input['old_price'];
$this->price = $input['price'];
$this->save();
}