سلام
من تجربه زیادی درلاراول ندارم اما طبق اموزش وبسایت اموزشی فروشگاهی لاراول دارم پیش میرم حالا میخوام در قسمت دسته بندی هام علاوه برعنوان دسته بندی ، یک تصویر هم برای دسته بندهام اپلود کنم.
مشکل: مقادیرم(عنوان و تصویر) در دیتابیس ذخیره نمیشه!
AdminController :
<?php
namespace AppHttpControllersAdmin;
use CarbonCarbon;
use IlluminateHttpRequest;
use AppHttpControllersController;
class AdminController extends Controller
{
protected function uploadImages($file)
{
$file = request()->file('cover');
$year = Carbon::now()->year;
$destinationPath = public_path("/upload/images/{$year}/");
$filename = $file->getClientOriginalName();
$file->move($destinationPath , $filename);
return $file;
}
}
CategoryController :
<?php
namespace AppHttpControllersAdmin;
use AppCategory;
use AppHttpRequestsCategoryRequest;
use IlluminateHttpRequest;
use AppHttpControllersController;
class CategoryController extends AdminController
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$categories = Category::latest()->paginate(20);
return view('admin.categories.all' , compact('categories'));
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('admin.categories.create');
}
/**
* Store a newly created resource in storage.
*
* @param CategoryRequest|Request $request
* @return IlluminateHttpResponse
*/
public function store(CategoryRequest $request)
{
$coverurl = $this->uploadImages($request->file('cover'));
Category::create(array_merge($request->all() , ['cover' => $coverurl]));
return redirect(route('categories.index'));
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param AppCategory $category
* @return IlluminateHttpResponse
*/
public function update(Request $request, Category $category)
{
//
}
}
لطفا اگر امکانش هست بهم بگید چطوری باید کد قسمت store و update رو بنویسم. ممنونم
دوستان کدی که نوشتم برای اپلود تک عکس هست که مشکل خیلی ها در لاراول بود (از کامنت های دوره فهمیدم...)
راه حلش رو میزارم امیدوارم مشکلتون حل بشه :)
AdminController :
<?php
namespace AppHttpControllersAdmin;
use CarbonCarbon;
use IlluminateHttpRequest;
use AppHttpControllersController;
class AdminController extends Controller
{
protected function uploadImages($file)
{
$year = Carbon::now()->year;
$filename = date('Y_m_d') . '_' . $file->getClientOriginalName();
$destination = "/uploads/images/{$year}";
$destinationPath = public_path($destination);
$file->move($destinationPath , $filename);
return $destination . '/'. $filename;
}
}
CategoryController :
<?php
namespace AppHttpControllersAdmin;
use AppCategory;
use AppHttpRequestsCategoryRequest;
use IlluminateHttpRequest;
use AppHttpControllersController;
class CategoryController extends AdminController
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$categories = Category::latest()->paginate(20);
return view('admin.categories.all' , compact('categories'));
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('admin.categories.create');
}
/**
* Store a newly created resource in storage.
*
* @param CategoryRequest|Request $request
* @return IlluminateHttpResponse
*/
public function store(CategoryRequest $request)
{
$coverUrl = $this->uploadImage($request->file('cover'));
Category::create(array_merge($request->all() , ['cover' => $coverUrl]));
return redirect(route('categories.index'));
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param AppCategory $category
* @return IlluminateHttpResponse
*/
public function update(Request $request, Category $category)
{
$coverUrl = $request->file('cover');
$input = $request->all();
if ($coverUrl){
$input ['cover'] = $this->genreUploadImage($request->file('cover'));
}else{
$input ['cover'] = $genre->cover;
}
$category->update($input);
return redirect(route('categories.index'));
}
}
@hesammousavi
چون بلد نبودم بنویسمش!
الان توی استور و اپدیت CategoryController چجوری باید کدشو بنویسم؟ بعد اون کد uploadImages که توی AdminController نوشتم درسته؟
خوب شما باید کار با لاراول رو یادبگیرید و خودتون بنویسید !!!
میتونید از یک دوره مقدماتی لاراول شروع کنید و اول مایگریشن و بعد مدل و بعد عملیات ذخیره سازی رو انجام بدید
@hesammousavi
من مایگریشن ها ، مدل ها ، ویو ها رو نوشتم اوکیه !
من حتی دوباره کدی که توی استور نوشتم رو ویرایش کردم اما عکس بصورت tmp ذخیره میشه چرا؟اگر امکانش هست بگید چجوری باید کدشو بنویسم؟
دوستان کدی که نوشتم برای اپلود تک عکس هست که مشکل خیلی ها در لاراول بود (از کامنت های دوره فهمیدم...)
راه حلش رو میزارم امیدوارم مشکلتون حل بشه :)
AdminController :
<?php
namespace AppHttpControllersAdmin;
use CarbonCarbon;
use IlluminateHttpRequest;
use AppHttpControllersController;
class AdminController extends Controller
{
protected function uploadImages($file)
{
$year = Carbon::now()->year;
$filename = date('Y_m_d') . '_' . $file->getClientOriginalName();
$destination = "/uploads/images/{$year}";
$destinationPath = public_path($destination);
$file->move($destinationPath , $filename);
return $destination . '/'. $filename;
}
}
CategoryController :
<?php
namespace AppHttpControllersAdmin;
use AppCategory;
use AppHttpRequestsCategoryRequest;
use IlluminateHttpRequest;
use AppHttpControllersController;
class CategoryController extends AdminController
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$categories = Category::latest()->paginate(20);
return view('admin.categories.all' , compact('categories'));
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('admin.categories.create');
}
/**
* Store a newly created resource in storage.
*
* @param CategoryRequest|Request $request
* @return IlluminateHttpResponse
*/
public function store(CategoryRequest $request)
{
$coverUrl = $this->uploadImage($request->file('cover'));
Category::create(array_merge($request->all() , ['cover' => $coverUrl]));
return redirect(route('categories.index'));
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param AppCategory $category
* @return IlluminateHttpResponse
*/
public function update(Request $request, Category $category)
{
$coverUrl = $request->file('cover');
$input = $request->all();
if ($coverUrl){
$input ['cover'] = $this->genreUploadImage($request->file('cover'));
}else{
$input ['cover'] = $genre->cover;
}
$category->update($input);
return redirect(route('categories.index'));
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟