Bonjour, j'ai un probléme avec le plugin Media
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
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 .
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 . :-/