Salut j'ia besoin d'aide car je n'arrive pas a faire une page pour ajouter une images qui a une option qui permet de choisir une gallerie ou on doit ajouter cette image.
J'ai deux table dans ma bdd :
Galleries
id
name
Gallerie_imgs
id
img
description
gallerie_id
J'ai donc fait deux Model Table dans mon cakePHP
GalleriesTable
GallerieImgsTable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 namespace App\Model\Table; use Cake\ORM\Table; use Cake\Validation\Validator; class GalleriesTable extends Table{ public function initialize(array $config) { $this->hasMany('GallerieImgs'); } public function validationDefault(Validator $validator) { $validator->requirePresence('name') ->notEmpty('name'); return $validator; } }
J'ai un controller GalleriesController qui gere l'ajout de gallerie et d'image pour l'ajout d'image j'ai une fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 namespace App\Model\Table; use Cake\ORM\Table; use Cake\Validation\Validator; class GallerieImgsTable extends Table{ public function initialize(array $config) { $this->hasOne('Galleries', [ 'foreignKey' => 'gallerie_img', ]); } public function validationDefault(Validator $validator) { $validator->requirePresence('img') ->requirePresence('gallerie_img') ->notEmpty('img') ->notEmpty('gallerie_id'); return $validator; } }
et qui me redirige donc vers la vue qui contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function add_image() { $img = $this->loadModel('GallerieImgs')->newEntity(); if ($this->request->is('post')) { $img = $this->loadModel('GallerieImgs')->patchEntity($img, $this->request->data); die(debug($img)); if ($this->loadModel('GallerieImgs')->save($img)) { $this->Flash->success("Image enregistrer"); return $this->redirect(['action' => 'index']); } $this->Flash->error("Impossible d'ajouter l'image"); } $this->set(compact('img')); }
Comment faire pour que dans ma liste j'ai tout les nom de gallerie qui existe deja merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <h2>Ajouter une image</h2> <?= $this->Form->create($img); ?> <?= $this->Form->input('img'); ?> <?= $this->Form->input('description'); ?> <?= $this->Form->input('gallerie_id'); ?> <?= $this->Form->button('Ajouter'); ?> <?= $this->Form->end(); ?>
Partager