Bonjour à tous,
J'ai un code qui m'affoiche les Tags qui se trouvent dans la table Tgas
Le problème qui se pose, c'est que lorsqu'une page est offline, le Tag associé à cette page s'affiche et je ne le veux pas.
Ma table Tags à trois champs : id, name, count
J'ai une table de laisons
PahesTags qui a 3 champs : id, page_id, tag_id
Et j'ai une table pour mes pages, ou j'ai un champs "online"
J'aimerais, dans le premier code, ajouter une conditions, qui va regarder dans la table page, si le champs "offiline* est à 1, comme ceci
Mais évidement ca ne marche pas et j'aimerais savoir comment, je peux modifier mes modeles Tag, PageTag et page.
Pour le moement, j'ai ceci dans le modele Tag:
Dans mon modele PageTag, j'ai ceci:
et mon modele Page.php, j'ai ceci:
Pouvez-vous m'aider a me dire comment je peux fair een sorte que le champs Page.offilne est vérifier?
Je vous remercie
J'ai un code qui m'affoiche les Tags qui se trouvent dans la table Tgas
class TagsController extends AppController{ // Dans le tuto, il utilise sidebar au lieux de categoriesList function tagsList(){ //$this->loadModel('PageTag'); return $this->Tag->find('all',array('order'=>'name ASC','conditions'=>array('Tag.count >= 0'))); } }
Le problème qui se pose, c'est que lorsqu'une page est offline, le Tag associé à cette page s'affiche et je ne le veux pas.
Ma table Tags à trois champs : id, name, count
J'ai une table de laisons
PahesTags qui a 3 champs : id, page_id, tag_id
Et j'ai une table pour mes pages, ou j'ai un champs "online"
J'aimerais, dans le premier code, ajouter une conditions, qui va regarder dans la table page, si le champs "offiline* est à 1, comme ceci
class TagsController extends AppController{ // Dans le tuto, il utilise sidebar au lieux de categoriesList function tagsList(){ //$this->loadModel('PageTag'); return $this->Tag->find('all',array('order'=>'name ASC','conditions'=>array('Tag.count >= 0','Page.online' => 1))); } }
Mais évidement ca ne marche pas et j'aimerais savoir comment, je peux modifier mes modeles Tag, PageTag et page.
Pour le moement, j'ai ceci dans le modele Tag:
<?php class Tag extends AppModel{ public $hasOne = 'PageTag'; }
Dans mon modele PageTag, j'ai ceci:
<?php class PageTag extends AppModel{ var $useTable = "pages_tags"; public $actsAs = array('containable'); public $belongsTo = array( 'Page', 'Tag' => array( 'counterCache' => 'count' ) ); public function afterDelete(){ // Efface tous les tag qui ne sont plus associé $this->Tag->deleteAll(array( 'count' => 0 )); } }
et mon modele Page.php, j'ai ceci:
public $actsAs = array('containable','Tree'); // Création d'un liasons // DECI EFFACERA LE CAMPS DU TABLEAU MEDIAS ASSOCIE AU POST_ID // Nous sommes dans les post. Si dessous, il va associé l'id du post, automatiquement avec le champs post_id du tableau medias. public $hasMany =array( #Commenté le 13.12.2013 car Media plus utilisé #'Media' => array( # 'dependent' => true #), 'PageTag' ); /* // Permet d'enregistrer dans la table Tag et Categorie, le nombre de Post qui sont enregistré avec la categorie ou un tag public $belongsTo = array( 'Category' => array( 'counterCache' => array( 'page_count' => array( 'Page.online' => 1, 'Page.created <= NOW()' ) ) ) ); */ public $hasAndBelongsToMany = array('Tag'); // Added for the search module //public $belongsTo = array('Search'); //MyQL Arrete de faire des requetes recursive public $recursive = -1;
Pouvez-vous m'aider a me dire comment je peux fair een sorte que le champs Page.offilne est vérifier?
Je vous remercie