Bonjour, j'ai un probléme avec le plugin Media

Ce que je fais

J'ai dans appController ceci

   public $helpers = array('html','Form','Media.Media');
 public function canUploadMedias($model, $id){
    if($model == 'User' & $id = $this->Session->read('Auth.User.id')){
        return true; // Tout le monde peut éditer les médias de son profil
    }
    return $this->Session->read('Auth.User.role') == 'admin'; // Le reste des média n'est gérable que par l'administrateur
}

    public $recursive = -1;
    public $actAs = array('Containable');

dans mon model Post

<?php
App::uses('AppModel', 'Model');

class Post extends AppModel{

    public $actsAs = array(
        'Containable',
        'Media.Media' => array(
            'path' => 'img/PhotoP/%f'
        )
    );
}

dans ma vue index Post

<?php foreach ($posts as $rooms): ?>
    <div class="col-md-12">
                <h3><?= $rooms['Post']['name'];?></h3>
                <?= $this->html->image($rooms['Thumb']['file']); ?>

    </div>  
<?php endforeach; ?>

dans mon PostsController

 public function index() {
        $posts = $this->Post->find('all',array(
            'fields'=>array('Post.id','Post.name','Post.content','Thumb.file'),
            'contain'=>array('Thumb')
        ));
        $this->set(compact('posts'));
       debug($posts);
    }

Dans ma bbd la table media est bien céer et cintient les informations

Ce que j'obtiens

Malgré rout ça j'ai les erreurs suivantes

Model "Post" is not associated with model "Thumb" [CORE\Cake\Model\Behavior\ContainableBehavior.php, line 342]

et

Model "Post" is not associated with model "Thumb" [CORE\Cake\Model\Behavior\ContainableBehavior.php, line 342]

Où ai-je fait une erreur ou oublier quelque chose ?
Merci d'avance pour votre aide .

2 réponses


Lartak
Réponse acceptée

Bonsoir.

public $recursive = -1;
public $actAs = array('Containable');

Ces lignes là ne sont pas à mettre dans le controller, mais dans AppModel.
Il est d'ailleurs inutile de déclarer le behavior Containable génériquement si c'est pour le déclarer dans les modèles à chaque fois que tu en as besoin.
Pourquoi avoir mentionné deux fois exactement le même message d'erreur ?

Merci pour ta réponse, J'ai trouver mon erreur, il manquais media.id dans la table posts de ma bdd . :-/