/** * Guarda el nuevo banner * * @param AdvertisementRequest $request -> valida los campos que son requeridos para crear un nuevo banner * @return \Illuminate\Http\Response */ public function store(AdvertisementRequest $request) { /* equivale al query insert */ /* $request->all() trae los datos que pusimos en nuestra forma */ Advertisement::create($request->all()); /* redirige al listado de banners */ return redirect('advertisements'); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(AdRequest $request) { $attributes = ['customer_id' => Auth::customer()->get()->id]; $category = Category::find($request->get('category_id')); if ($category->isDescendantOf(Category::find(1))) { // motors $motor = Motor::create($request->only('chassis_no', 'model', 'color', 'doors')); $ad = $motor->advertisements()->create(array_merge($attributes, $request->only(['name', 'pin', 'address', 'emirate_id', 'phone']))); } else { $ad = Advertisement::create(array_merge($attributes, $request->only(['name', 'pin', 'address', 'emirate_id', 'phone']))); } // array_merge = add two arrays together $product = Product::create($request->only(['title', 'description', 'brand', 'category_id', 'price'])); $ad->product()->save($product); $source = public_path() . '/uploads/temp/' . Session::getId() . '/'; $destination = public_path() . '/uploads/ads/' . $ad->id . '/'; if (!file_exists($destination)) { mkdir($destination, 0777, true); // create directory if doesn't exists } if (file_exists($source)) { // check if directory exists $files = scandir($source); // list files in directory $delete = []; foreach ($files as $file) { // in_array() = check for values in array if (in_array($file, ['.', '..'])) { continue; } if (copy($source . $file, $destination . $file)) { $delete[] = $source . $file; // $ad->images()->create([ // 'customer_id' => Auth::customer()->get()->id, // 'advertisement_id' => $ad->id, // 'url' => url('/uploads/ads/' . $ad->id . '/' . $file) // ]); $product->images()->create(['url' => url('/uploads/ads/' . $ad->id . '/' . $file)]); } } foreach ($delete as $file) { unlink($file); // delete file } } return response()->json('success'); }
<?php use App\Advertisement; Route::get('/', function () { return view('welcome'); }); Route::get('/advertise', function () { $ad = Advertisement::all()->random(); return view('advertise.index')->with('ad', $ad); }); Route::get('advertise/create', function () { return view('advertise.create'); }); Route::post('advertise/create', function () { $image = Input::file('image'); $move = $image->move('images/advertisements', $image->getClientOriginalName()); if ($move) { $create = Advertisement::create(['title' => Input::get('title'), 'image' => $image->getClientOriginalName(), 'description' => Input::get('description'), 'url' => Input::get('url')]); if ($create) { var_dump("created..."); } } });