/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Requests\AddArtistRequest $request) { $artist = new Artist(array('name' => $request->get('name'), 'biography' => $request->get('biography'))); $artist->save(); //bagong artist flash()->overlay('Artist added!', 'Success!'); if ($request->get('track_id')) { $artistHasSong = new ArtistHasSong(array('artist_id' => $artist->id, 'track_id' => (int) $request->get('track_id'))); $artistHasSong->save(); // go to albums params track-id,artist id,album name,artist name create album for// // return redirect('/album/create') // ->with(['artist_id' => $artist->id, 'artist_name' => $artist->name, // 'track_id' => $request->get('track_id'), // 'album_name' => $request->get('album_name')]); return view('album.create', ['artist_id' => $artist->id, 'artist_name' => $artist->name, 'track_id' => $request->get('track_id'), 'album_name' => $request->get('album_name')]); } else { // go to albums params artist id,album name,artist name create album for// // return redirect('/album/create') // ->with(['artist_id' => $artist->id, 'artist_name' => $artist->name, // 'track_id' => NULL, 'album_name' => $request->get('album_name')]); //bagong artist, walang album return view('album.create', ['artist_id' => $artist->id, 'artist_name' => $artist->name, 'track_id' => NULL, 'album_name' => $request->get('album_name')]); } /*if ($request->get('artist_id')===NULL && $request->get('artist_name')===NULL && $request->get('track_id')===NULL ) { return view('artist.create', ['message'=>"Artist Created"]); } */ //getting an album /* $album = DB::table('albums') ->where('name',$request->get('album_name')) ->first(); */ }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Requests\AddSongRequest $request) { /* cases: add track walang artist, walang album / may artist, walang album add lang talaga */ //Start of Inserting a music //Start here. //dd($request->get('name')); //else{ //dd(\Auth::user()->id); $track = new Track(array('name' => $request->get('name'), 'creator_id' => \Auth::user()->id)); $track->save(); flash()->overlay('Track uploaded.', 'Success!'); //https://www.codetutorial.io/laravel-5-file-upload-storage-download/ $fileName = $track->id . '.' . $request->file('image')->getClientOriginalExtension(); $path = base_path() . '/public/tracks/' . $fileName; $request->file('image')->move(base_path() . '/public/tracks/', $fileName); //dd($path); $path = '/public/tracks/' . explode("/", $path)[sizeof(explode("/", $path)) - 1]; //get value at last element //dd($path); DB::table('tracks')->where('id', $track->id)->update(['path' => $path]); //song is now uploaded and has filePath //dd($request->get('artist_name')); //getting an artist $artist = DB::table('artists')->where('name', $request->get('artist_name'))->first(); //dd($artist); //} if ($artist) { //artist exists $artistHasSong = new ArtistHasSong(array('artist_id' => $artist->id, 'track_id' => $track->id)); $artistHasSong->save(); $album = DB::table('albums')->join('albums_has_artist', 'albums_has_artist.album_id', '=', 'albums.id')->select('albums_has_artist.*')->where('albums_has_artist.artist_id', '=', $artist->id)->where('albums.name', '=', $request->get('album_name'))->first(); /* select * from albums_has_artist a inner join albums b on a.albumId = b.albumId where a.artist_id = $artist->id and b.name= $request->get('album_name') */ //dd($album); if ($album) { //track and album exist and artist exist $albumHasSong = new AlbumHasSong(array('album_id' => $album->id, 'track_id' => $track->id)); $albumHasSong->save(); return redirect()->back(); // return view('track.create', // ['message'=>'Track Created']); } else { //album does not exist but artist and track exists // return redirect('/album/create') // ->with(['track_id' => $track->id, 'artist_name' => NULL, // 'artist_id' => $artist->id, 'album_name' => $request->get('album_name')]); return view('album.create', ['track_id' => $track->id, 'artist_name' => NULL, 'artist_id' => $artist->id, 'album_name' => $request->get('album_name')]); } } else { //track exist now(); artist does not exist //to do on artist store artists has song: //to do on album store album has artist and album has song //dd($request->get('artist_name')); if ($request->get('artist_name') != NULL) { // return redirect('/artist/create') // ->with(['artist_name' => $request->get('artist_name'), 'track_id' => $track->id, // 'track_name' => $track->name, 'album_name' => $request->get('album_name')]); return view('artist.create', ['artist_name' => $request->get('artist_name'), 'track_id' => $track->id, 'track_name' => $track->name, 'album_name' => $request->get('album_name')]); } else { // return redirect('/album/create') // ->with(['artist_name' => $request->get('artist_name'), 'artist_id' => NULL, // 'track_id' => $track->id, 'album_name' => $request->get('album_name')]); return view('album.create', ['artist_name' => $request->get('artist_name'), 'artist_id' => NULL, 'track_id' => $track->id, 'album_name' => $request->get('album_name')]); } } }