Skip to content
Snippets Groups Projects
ControleurRequete.php 2.47 KiB
<?php

namespace bdd\controllers;

use bdd\models\Company;
use bdd\models\Game;
use bdd\models\Platform;
use bdd\models\Character;
use bdd\models\Game2character;
use bdd\models\Game_publisher;
use bdd\views\RequeteView;

class ControleurRequete{
    public function selectGame(){
        $jeu = Game::select('name')->get();
        $vue = new RequeteView($jeu);
        $vue->render(1);
    }
	
	public function selectMario(){
        $jeu = Game::select('name')->where('name','like','%Mario%','or','alias','like','%Mario%')->get();
              
        $vue = new RequeteView($jeu);
        $vue->render(1);
    }
	
	public function selectCharMario(){
        $data = Character::join('game2character','perso.id','=','game2character.character_id')
                            ->join('game','game2character.game_id','=','game.id')
                            ->select('id')
                            ->where('game.name','LIKE','Mario%');
       
        $vue = new RequeteView($data);
        $vue->render(1);
    }
	
	public function selectCharFirstAppearedMario(){
        $data = Character::join('game','perso.first_appeared_in_game_id','=','game.id')
                            ->select('name')
                            ->where('game.name','LIKE','Mario%');
       
        $vue = new RequeteView($data);
        $vue->render(1);
    }
	
	public function selectGameMarioAndRatingPlus3(){
        $data = Game::join('game2rating','game_id','=','game2rating.rating_id')
                            ->join('Rating','game2rating.rating_id','=','rating.id')
                            ->select('name')
                            ->where('game.name','LIKE','Mario%', 'AND', 'game_rating.name' 'LIKE', '%3+%');
       
        $vue = new RequeteView($data);
        $vue->render(1);
    }

    public function selectCharGame12342(){
        $data = Character::join('game2character','perso.id','=','game2character.character_id')
                            ->select('name')
                            ->where('game2character.game_id','=','12342');
    
        $vue = new RequeteView($data);
        $vue->render(1);
    }

    public function gameCompanySony(){
        $data = Game::join('game_publisher','game.id','=','game_publisher.game_id')
                            ->join('company','game_publisher.comp_id','=','company.id')
                            ->select('id')
                            ->where('company.name','LIKE','%Sony%');
       
        $vue = new RequeteView($data);
        $vue->render(1);
    }
}