|
@@ -3,11 +3,11 @@
|
|
|
namespace Packages\Product\Http\Controllers;
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
-
|
|
|
-use Packages\Product\Models\User;
|
|
|
+use Facade\Ignition\Support\Packagist\Package;
|
|
|
use Packages\Product\Models\Product;
|
|
|
use Illuminate\Http\Request;
|
|
|
use App\Models\Category;
|
|
|
+use phpDocumentor\Reflection\Types\Compound;
|
|
|
|
|
|
class ProductController extends Controller
|
|
|
{
|
|
@@ -16,32 +16,29 @@ class ProductController extends Controller
|
|
|
|
|
|
}
|
|
|
|
|
|
-// show page product ************
|
|
|
+// *******************************************show page product ************
|
|
|
public function index()
|
|
|
{
|
|
|
|
|
|
$products = Product::orderBy('id', 'DESC')->paginate(20);
|
|
|
-
|
|
|
- return view('product::index', compact('products'));
|
|
|
+ $categories = Category::orderBy('id', 'DESC')->get();
|
|
|
+ return view('product::index', compact('products', 'categories'));
|
|
|
|
|
|
}
|
|
|
|
|
|
-// page create products *****************
|
|
|
+//**************************************************** page create products *****************
|
|
|
public function create()
|
|
|
{
|
|
|
- $products = Product::orderBy('id', 'DESC')->paginate(20);
|
|
|
$categories = Category::orderBy('id', 'DESC')->get();
|
|
|
-
|
|
|
- return view('product::product.create', compact('products', 'categories'));
|
|
|
-
|
|
|
+ return view('product::product.create', compact( 'categories'));
|
|
|
}
|
|
|
|
|
|
-// save products ******************
|
|
|
+// *********************************************************save products ******************
|
|
|
|
|
|
public function store(Request $request)
|
|
|
{
|
|
|
|
|
|
- $validatedData= $request->validate([
|
|
|
+ $validatedData = $request->validate([
|
|
|
'title' => 'required|max:100',
|
|
|
'price' => 'required',
|
|
|
'status' => 'required',
|
|
@@ -49,7 +46,7 @@ class ProductController extends Controller
|
|
|
'type' => 'required',
|
|
|
|
|
|
|
|
|
- ],[
|
|
|
+ ], [
|
|
|
'title.required' => 'فیلد عنوان الزامی می باشد.',
|
|
|
'price.required' => 'فیلد قیمت الزامی می باشد.',
|
|
|
'status.required' => 'فیلد وضعیت الزامی می باشد.',
|
|
@@ -57,37 +54,43 @@ class ProductController extends Controller
|
|
|
'type.required' => 'فیلد نوع محصول الزامی می باشد.',
|
|
|
|
|
|
]);
|
|
|
- $request->merge([
|
|
|
- 'price' => preg_replace( '/[^0-9]+/', '', $request->price ),
|
|
|
- 'sale_price' => preg_replace( '/[^0-9]+/', '', $request->sale_price ),
|
|
|
- ]);
|
|
|
-
|
|
|
- $data = array_merge($request->all(),['creator_id' => auth()->user()->id]);
|
|
|
|
|
|
+ $request->merge([
|
|
|
+ 'price' => preg_replace('/[^0-9]+/', '', $request->price),
|
|
|
+ 'sale_price' => preg_replace('/[^0-9]+/', '', $request->sale_price),
|
|
|
+ ]);
|
|
|
+// $data = array_merge($request->except('categories'), ['creator_id' => auth()->user()->id]);
|
|
|
+
|
|
|
+ $data = [
|
|
|
+ 'title' => $request->title,
|
|
|
+ 'slug' => $request->slug,
|
|
|
+ 'sku' => $request->sku,
|
|
|
+ 'price' => $request->price,
|
|
|
+ 'sale_price' =>$request->sale_price ,
|
|
|
+ 'type' =>$request->type ,
|
|
|
+ 'status' =>$request->status ,
|
|
|
+ 'discription' =>$request->discription ,
|
|
|
+ 'creator_id' => auth()->user()->id
|
|
|
+ ];
|
|
|
$product = Product::create($data);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- $product->categories()->attach($request->categories);
|
|
|
-
|
|
|
-
|
|
|
+ $product->categories()->sync($request->categories);
|
|
|
$msg = 'ذخیره محصول با موفقیت انجام شد ';
|
|
|
return redirect(route('products.edit', $product->id))->with('success', $msg);
|
|
|
}
|
|
|
|
|
|
- // edit page product
|
|
|
+ // ******************************************************edit page product*********************************************
|
|
|
|
|
|
public function edit(Product $product)
|
|
|
{
|
|
|
-
|
|
|
- return view('product::product.edit', compact('product'));
|
|
|
+ $categories = Category::orderBy('id', 'DESC')->get();
|
|
|
+ return view('product::product.edit', compact('product', 'categories'));
|
|
|
}
|
|
|
|
|
|
-// update page product
|
|
|
+// *******************************************update page product*****************************************
|
|
|
|
|
|
public function update(Request $request, Product $product)
|
|
|
{
|
|
|
- $validatedData= $request->validate([
|
|
|
+ $validatedData = $request->validate([
|
|
|
'title' => 'required|max:100',
|
|
|
'price' => 'required',
|
|
|
'status' => 'required',
|
|
@@ -95,7 +98,7 @@ class ProductController extends Controller
|
|
|
'type' => 'required',
|
|
|
|
|
|
|
|
|
- ],[
|
|
|
+ ], [
|
|
|
'title.required' => 'فیلد عنوان الزامی می باشد.',
|
|
|
'price.required' => 'فیلد قیمت الزامی می باشد.',
|
|
|
'status.required' => 'فیلد وضعیت الزامی می باشد.',
|
|
@@ -104,18 +107,32 @@ class ProductController extends Controller
|
|
|
|
|
|
]);
|
|
|
$request->merge([
|
|
|
- 'price' => preg_replace( '/[^0-9]+/', '', $request->price ),
|
|
|
- 'sale_price' => preg_replace( '/[^0-9]+/', '', $request->sale_price ),
|
|
|
+ 'price' => preg_replace('/[^0-9]+/', '', $request->price),
|
|
|
+ 'sale_price' => preg_replace('/[^0-9]+/', '', $request->sale_price),
|
|
|
]);
|
|
|
- $data = array_merge($request->all(),['creator_id'=>auth()->user()->id]);
|
|
|
- $product->update($data);
|
|
|
|
|
|
+// $data = array_merge($request->all(), ['creator_id' => auth()->user()->id]);
|
|
|
+ $data = [
|
|
|
+ 'title' => $request->title,
|
|
|
+ 'slug' => $request->slug,
|
|
|
+ 'sku' => $request->sku,
|
|
|
+ 'price' => $request->price,
|
|
|
+ 'sale_price' =>$request->sale_price ,
|
|
|
+ 'type' =>$request->type ,
|
|
|
+ 'status' =>$request->status ,
|
|
|
+ 'discription' =>$request->discription ,
|
|
|
+ 'creator_id' => auth()->user()->id
|
|
|
+ ];
|
|
|
+
|
|
|
+ $product->update($data);
|
|
|
+ $product->categories()->sync($request->categories);
|
|
|
|
|
|
$msg = 'ویرایش محصول با موفقیت انجام شد ';
|
|
|
+
|
|
|
return redirect(route('products.index'))->with('success', $msg);
|
|
|
}
|
|
|
|
|
|
- // delete products
|
|
|
+ //***************************** delete products*****************************************
|
|
|
public function destroy(Product $product)
|
|
|
{
|
|
|
|