Salut à tous !!
J'ai un problème lorsque je veux insérer des données dans la BDD il ne les enregistres pas!
Mon controller
<?php
class CategoriesController extends AppController
{
/**
* Le controller utilise le model Categorie
*
* @var array
*/
public $uses = array('Categorie');
function admin_index()
{
$d'categorie'] = $this->Categorie->find('all');
$this->set($d);
}
function admin_edit($id=null)
{
if(!empty($this->request->data))
{
if($this->Categorie->save($this->request->data))
{
$this->Session->setFlash("La catégorie a bien été créer","notif");
$this->redirect(array('action'=>'index'));
}
else
{
$this->Session->setFlash("La catégorie n'a pas été créer","notif", array('type' => 'error'));
}
}
elseif($id != null)
{
$this->Categorie->id = $id;
$this->request->data = $this->Categorie->read();
}
}
}
Le model:
<?php
class Categorie extends AppModel
{
public $useTable = "categories";
public function beforeSave()
{
$data = $this->data'Categorie'];
//si le slug est vide on recup le titre et le formate avec Inflector
if(empty($data'Category']'slug']) && isset($data'Category']'slug']) && !empty($data'Category']'name']))
{
$data'Category']'slug'] = strtolower(Inflector::slug($data'Category']'name'], '-'));
return true;
}
}
}
Mais si dans mon controller j'utilise le model "Category" cela fonctionne donc je ne vois pas pourquoi cela ne fonctionne pas avec le Model "Categorie" ?!
Merci d'avance ;)
Oui mais dans mon controller j'ai
public $uses = array('Categorie');
Donc il devrait utiliser le model Categorie ?!
Désolé je débute sur cake...
Ton public ne sert à rien si tu fais appel au model qui est rattaché logiquement à ton modèle.
Ton problème est Category =)(convention de cake :p)
puis toi aussi tu n'es pas réellement d'accord je cite :
if(empty($data'Category']'slug']) && isset($data'Category']'slug']) && !empty($data'Category']'name']))
++ ^^
Ben enfait quand je debbug mon $this->request->data j'ai:
array(
'Categorie' => array(
'Category' => array(
'name' => 'Film',
'slug' => ''
)
)
)
Donc du coup j'ai stocker $data = $this->$data'Categorie'] c'est pour cela que je fait $data'Category']'slug'].
Bon je vais suivre les conventions de Cake j'ai voulu modifier cela car j'essayer de changer pour mieux comprendre ;)
Merci ;)