コード例 #1
0
 /**
  * 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();          
     */
 }
コード例 #2
0
 /**
  * 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')]);
         }
     }
 }