예제 #1
0
 public function store(Request $request)
 {
     $this->validate($request, ['product_name' => 'max:255|required|string|unique:products,product_name']);
     $product = new \App\Product();
     $product->product_name = $request->product_name;
     $product->save();
     return response()->json($product);
 }
 public function run()
 {
     for ($i = 0; $i < 50; $i++) {
         $p = new \App\Product();
         $p->name = str_random(10);
         $p->code = str_random(4);
         $p->price = rand(100000, 999999);
         $p->save();
     }
 }
예제 #3
0
 public function testSaveDuplicateCode()
 {
     $p = new App\Product();
     $p->code = "P-006";
     try {
         $p->save();
         fail("Harusnya baris ini tidak dijalankan karena ada exception");
     } catch (Illuminate\Database\QueryException $e) {
         // sukses, memang harusnya ada exception
     } catch (Exception $e) {
         fail("Jenis exception salah, seharusnya QueryException");
     }
 }
예제 #4
0
 public function postAddProduct(Request $request)
 {
     $this->validate($request, ['title' => 'required|min:5', 'description' => 'required|min:25', 'file' => 'required|image']);
     $product = new \App\Product();
     $product->title = $request->title;
     $product->description = $request->description;
     $file = $request->file('file');
     $file_name = $file->getClientOriginalName();
     \Storage::disk('local')->put($file_name, \File::get($file));
     $product->link_to_image = 'uploads/' . $file_name;
     $img = Image::make($product->link_to_image)->resize(130, 60);
     $img->save();
     $product->save();
     \Session::flash('flash_message', 'Your Product was added!');
     return redirect('/addProduct');
 }
예제 #5
0
 public function postIndex(Request $request, $pid, $mode)
 {
     if ($mode == 'Delete') {
         // use DB facade to delete the row matching $pid
         \App\Product::destroy($pid);
         $request->session()->flash('message', 'Product ID ' . $request->input('productID') . ' Deleted');
     } else {
         // validate that the product ID is at least 5 characters
         $this->validate($request, ['productID' => 'required|min:5', 'productName' => 'required|min:5', 'category' => 'required', 'price' => 'required|numeric|min:3|max:100000', 'discount' => 'required|numeric|min:0|max:30', 'active' => 'required']);
         // create a model and set the values, then session_save_path
         if ($mode == 'Edit') {
             // get the model from the db
             $products = \App\Product::where('id', '=', $pid)->get();
             $product = $products->first();
         } else {
             // instantiate a new model
             $product = new \App\Product();
         }
         // now set the model attributes
         $product->product_id = $request->input('productID');
         $product->product_name = $request->input('productName');
         $product->category_id = $request->input('category');
         $product->price = $request->input('price');
         $product->max_discount = $request->input('discount');
         $product->active = $request->input('active');
         if ($mode == 'Edit') {
             $product->id = $pid;
         }
         $product->save();
         $request->session()->flash('message', 'Product ID ' . $product->product_id . ' Updated / Added');
     }
     $pcol = $request->session()->get('pcol');
     $pord = $request->session()->get('pord');
     $pord = $pord == 'A' ? 'D' : 'A';
     $request->session()->put('pord', $pord);
     // need to refresh the products collection after changes
     $products = \App\Product::orderBy('product_name')->get();
     // now put the collection in the session variable
     $request->session()->put('products', $products);
     // now direct to the sort route to retain the sort the user had before editing
     return redirect('products/sort/' . $pcol);
 }