From 11ffccbc0a1c217a5f8bc973c260077d521a62ae Mon Sep 17 00:00:00 2001 From: SASSU Thomas <thomas.sassu5@etu.univ-lorraine.fr> Date: Wed, 4 Mar 2020 09:44:03 +0100 Subject: [PATCH] association game --- GamePedia/php/script_TD2.php | 18 ++++++ .../src/controleurs/ControleurScript.php | 9 +++ GamePedia/src/modeles/Character.php | 4 ++ GamePedia/src/modeles/Contient.php | 58 ------------------- GamePedia/src/modeles/Game.php | 25 ++++++++ 5 files changed, 56 insertions(+), 58 deletions(-) create mode 100644 GamePedia/php/script_TD2.php delete mode 100644 GamePedia/src/modeles/Contient.php diff --git a/GamePedia/php/script_TD2.php b/GamePedia/php/script_TD2.php new file mode 100644 index 0000000..e9ac05f --- /dev/null +++ b/GamePedia/php/script_TD2.php @@ -0,0 +1,18 @@ +<?php + +require_once dirname (__DIR__) . '/vendor/autoload.php'; +session_start(); + +use \Slim\Slim as Slim; +use Illuminate\Database\Capsule\Manager as DB; +use \gp\controleurs\ControleurPrincipal as ControleurPrincipal; +use \gp\controleurs\ControleurScript as ControleurScript; + +$db = new DB(); +$db->addConnection(parse_ini_file('../conf/conf.ini')); + +$db->setAsGlobal(); +$db->bootEloquent(); + +$c = new ControleurScript(); +$c->td2(); diff --git a/GamePedia/src/controleurs/ControleurScript.php b/GamePedia/src/controleurs/ControleurScript.php index 93d00a4..3c77110 100644 --- a/GamePedia/src/controleurs/ControleurScript.php +++ b/GamePedia/src/controleurs/ControleurScript.php @@ -8,6 +8,7 @@ use gp\modeles\Platform; use gp\modeles\Game; use gp\modeles\Company; use gp\modeles\Deck; +use gp\modeles\Character; class ControleurScript { @@ -72,4 +73,12 @@ class ControleurScript private function platformByBase($base){ return Platform::where("install_base", ">=", "{$base}"); } + + /** + * TD_2 + */ + + public function td2(){ + echo (Game::where('id','=',1)->first()->characters()->get()); + } } \ No newline at end of file diff --git a/GamePedia/src/modeles/Character.php b/GamePedia/src/modeles/Character.php index 3c9bf63..2daad7f 100644 --- a/GamePedia/src/modeles/Character.php +++ b/GamePedia/src/modeles/Character.php @@ -6,4 +6,8 @@ class Character extends \Illuminate\Database\Eloquent\Model protected $table = 'character'; protected $primaryKey = 'id'; public $timestamps = false ; + + function games(){ + return $this->BelongsToMany('gp\modeles\Game', 'game2character','character_id'); + } } \ No newline at end of file diff --git a/GamePedia/src/modeles/Contient.php b/GamePedia/src/modeles/Contient.php deleted file mode 100644 index 33d26d7..0000000 --- a/GamePedia/src/modeles/Contient.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php -namespace gp\modeles; -use Illuminate\Database\Eloquent\Builder; -class Contient extends \Illuminate\Database\Eloquent\Model -{ - protected $table = 'contient'; - protected $primaryKey = ['idRecette', 'idIngre']; - public $timestamps = false ; - public $incrementing = false; - - - public function recette() { - return $this->belongsTo('fridgie\modeles\Recette', 'idRecette'); - } - - public function ingredient() { - return $this->hasOne('fridgie\modeles\Ingredient', 'idIngre'); - } - - /** - * Set the keys for a save update query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function setKeysForSaveQuery(Builder $query) - { - $keys = $this->getKeyName(); - if(!is_array($keys)){ - return parent::setKeysForSaveQuery($query); - } - - foreach($keys as $keyName){ - $query->where($keyName, '=', $this->getKeyForSaveQuery($keyName)); - } - - return $query; - } - - /** - * Get the primary key value for a save query. - * - * @param mixed $keyName - * @return mixed - */ - protected function getKeyForSaveQuery($keyName = null) - { - if(is_null($keyName)){ - $keyName = $this->getKeyName(); - } - - if (isset($this->original[$keyName])) { - return $this->original[$keyName]; - } - - return $this->getAttribute($keyName); - } -} \ No newline at end of file diff --git a/GamePedia/src/modeles/Game.php b/GamePedia/src/modeles/Game.php index 588c91f..2d8743e 100644 --- a/GamePedia/src/modeles/Game.php +++ b/GamePedia/src/modeles/Game.php @@ -6,4 +6,29 @@ class Game extends \Illuminate\Database\Eloquent\Model protected $table = 'game'; protected $primaryKey = 'id'; public $timestamps = false ; + + public function characters(){ + return $this->belongsToMany('gp\modeles\Character', 'game2character','game_id'); + } + public function platform(){ + return $this->belongsToMany('gp\modeles\Platform', 'game2platform','game_id'); + } + public function theme(){ + return $this->belongsToMany('gp\modeles\Theme', 'game2theme','game_id'); + } + public function genre(){ + return $this->belongsToMany('gp\modeles\Genre', 'game2genre','game_id'); + } + public function rating(){ + return $this->belongsToMany('gp\modeles\Rating', 'game2rating','game_id'); + } + public function publishers(){ + return $this->belongsToMany('gp\modeles\Company', 'game_publishers','game_id'); + } + public function developers(){ + return $this->belongsToMany('gp\modeles\Company', 'game_developers','game_id'); + } + public function similarGames(){ + return $this->belongsToMany('gp\modeles\Games', 'similar_games','game1'); + } } \ No newline at end of file -- GitLab