2012-12-03 3 views
0

Je voudrais trouver toutes les nouvelles (actus) sur un utilisateur suivi quand un client est connecté.cakephp complexe find

J'ai créé ces tables

utilisateur
id
nom d'utilisateur
créé

Follows
id
user_id
follow_id


Actus id
user_id
contenu
créé

modèle utilisateur est lié à suivre et par un douaire Actu hasMany

J'essaie cela, mais il ne semble pas fonctionner

$this->Follow->find('all', array(
     'conditions' => array('Follow.user_id' => $this->Session->read('Auth.User.id')), 
     'contain' => array('User' => array('Actu','conditions'=>array('User.id = Follow.follow_id'))))); 

quelqu'un peut m'aider s'il vous plaît?

Nous vous remercions à l'avance

+0

Quoi la requête est-elle générée, et qu'est-ce qui est incorrect à propos de la requête générée? – Dave

Répondre

0

Je pense que votre association a besoin de modification (Modifier votre modèle et une table)

mis follow_id dans le tableau actus suit alors le tableau associé dans la table Actus et confirmer le nom de la table Utilisateur

vous devez association comme hasMany Suit et suit appartient Actus aux utilisateurs

Si vous avez toutes les associations correctes, vous pouvez alors trouver la requête likr t son

$this->Follow->find('all',array('conditions'=>array('Follow.user_id' => $this->Session->read('Auth.User.id'))); 

s'il vous plaît vérifier cette cette

  1. Faites nom de la table que Utilisateur
  2. mis follow_id dans le tableau Actus
  3. Assurez-vous que les associations
+0

La table "Actu" est une sorte de chronologie des actions de l'utilisateur, donc je ne peux pas mettre follow_id dans la table Actus car elle aura beaucoup de follow_id pour une entrée –

+0

follow_id signifie id de la table suit right ou pour quoi follow_id représente? – Sanjay

+0

il représente l'id de l'utilisateur suivi :-(Je sais que le nom n'est pas approprié –

0

Voici le résultat

Array ( [0] => Tableau ( [suivent] => array ( [id] => 12 [user_id] => 2 [followed_id] => 21 )

 [User] => Array 
      (
       [id] => 21 
       [username] => isabelle 
       [mail] => [email protected] 
       [password] => 0469e87ef6441742744443fd1fc10f6bf59ee238 
       [created] => 2012-04-24 15:28:07 
       [lastlogin] => 2012-11-30 17:22:24 
       [active] => 1 
       [firstname] => Isabelle 
       [lastname] => 
       [avatar] => 1335274087.jpg 
       [age] => 29 
       [town] => Paris 
       [url] => 
       [Actu] => Array 
        (
         [0] => Array 
          (
           [id] => 2 
           [user_id] => 2 
           [content] => <a href="https://stackoverflow.com/users/view/2">rti</a> a post&eacute; un message sur la page <a href="/events/view/4"></a> 
           [created] => 2012-11-30 11:23:23 
          )