Advertisement
Guest User

Problem Laravel

a guest
Nov 23rd, 2021
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.28 KB | None | 0 0
  1. SeriesController.php
  2.  
  3. <?php
  4.  
  5. namespace App\Http\Controllers;
  6.  
  7. use App\Serie;
  8. use App\Services\CriadorDeSerie;
  9. use Exception;
  10. use Illuminate\Http\Request;
  11.  
  12. class SeriesController extends Controller
  13. {
  14.     public function index(Request $request)
  15.     {
  16.         //echo $request->url(); exit();
  17.         // $series = ['Lost', 'Agents of Shield'];
  18.         // $html = "<ul>";
  19.         //     foreach ($series as $serie) {
  20.         //         $html .= "<li>$serie</li>";
  21.         //     }
  22.         // $html .= "</ul>";
  23.  
  24.         $series = Serie::query()->orderBy('nome')->get();
  25.  
  26.         $mensagem = $request->session()->get('mensagem');
  27.  
  28.  
  29.         return view('series.index', compact('series', 'mensagem'));
  30.     }
  31.  
  32.     public function create()
  33.     {
  34.         return view('series.create');
  35.     }
  36.  
  37.     public function store(Request $request, CriadorDeSerie $criadorDeSerie)
  38.     {
  39.  
  40.         $serie = $criadorDeSerie->criarSerie($request->nomeSerie, $request->numerotemporadas, $request->numeroepisodios);
  41.        
  42.         $request->session()->flash("mensagem", "Série {$serie->nome} com suas temporadas e episódios criada com sucesso!");
  43.  
  44.         return redirect('/series');
  45.         exit();
  46.     }
  47.  
  48.     public function destroy(Request $request)
  49.     {
  50.  
  51.         try {
  52.  
  53.             echo $request->id;
  54.  
  55.             Serie::destroy($request->id);
  56.  
  57.             $request->session()->flash("mensagem", "Série excluída com sucesso!");
  58.  
  59.             return redirect('/series');
  60.             exit();
  61.         } catch (Exception $e) {
  62.  
  63.             echo "Erro: " . $e->getMessage() . "\n";
  64.             echo "Linha: " . $e->getLine();
  65.         }
  66.     }
  67. }
  68.  
  69.  
  70.  
  71. CriadorDeSerie.php
  72.  
  73.  
  74. <?php
  75.  
  76. namespace App\Services;
  77.  
  78. use App\Serie;
  79.  
  80. class CriadorDeSerie
  81. {
  82.     public function criarSerie(string $nomeSerie, int $numeroTemporadas, int $numeroEpisodios)
  83.     {
  84.         $serie = Serie::create(['nome' => $nomeSerie]);
  85.         $numeroTemporadas = $numeroTemporadas;
  86.  
  87.         for ($i = 1; $i <= $numeroTemporadas; $i++) {
  88.             $temporada = $serie->temporadas()->create(['numero' => $i]);
  89.  
  90.             for ($j = 1; $j <= $numeroEpisodios; $j++) {
  91.                 $temporada->episodios()->create(['numero' => $j]);
  92.             }
  93.         }
  94.  
  95.         return $serie;
  96.     }
  97. }
  98.  
  99.  
  100.  
  101.  
  102.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement