/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, ['product_title' => 'required']);
$product = new Product();
$product->is_published = $request->get('is_published') == 'on' ? 1 : 0;
$product->title = $request->get('product_title');
$product->description = $request->get('product_description');
$product->min_player = $request->get('product_input-players-min');
$product->max_player = $request->get('product_input-players-max');
$product->min_age = $request->get('product_input-age-min');
$product->cost_price = $request->get('product_costprice');
$product->sale_price = $request->get('product_saleprice');
$product->save();
if ($request->get('product_categories') != null) {
foreach ($request->get('product_categories') as $category_id) {
$product->categories()->attach($category_id);
}
}
$files = $request->file('product_images');
$count = 0;
foreach ($files as $file) {
if ($file == null) {
continue;
}
$product->addMedia($file)->usingFileName($product->id . "_" . $count . "." . $file->getClientOriginalExtension())->toCollection('images');
$count++;
}
Session::flash('flash_message', 'Product successfully added!');
return view('dashboard/create_product')->with('categories', Category::get())->with('product', new Product());
}