Introduction

Dans le cadre de l’amélioration du site ooh.tripperty.com qui est un projet porté par La Poste, nous avons choisi de travailler sur la technologie actuelle du site : CakePHP

Voici un petit tutoriel qui explique comment créer un model dans CakePhp

Tutoriel

N’ayant pas trouvé de documentation complète, nous avons choisi de vous décrire ici la méthode pour créer un model dans CakePHP.

Tout d’abord, dans CakePHP, vous avez plusieurs façons de créer un model pour vos données:
1/ Soit en créant à la main le fichier correspondant dans
app/Model/MonModel.php
<?php
App::uses('AppModel', 'Model');
class MonModel extends AppModel {
public $name = 'MonModel';
}

2/ Soit en créant votre table mysql en premier puis en lançant le script « Bake »
bash app/Console/cake bake

Le script vous donnera une liste d’actions possibles. Il faudra choisir
[M]odel
puis sélectionner votre table nouvellement créée dans la nouvelle liste proposée.
sélectionnez votre clef primaire (normalement il propose celle crée avec la table)

Si votre table ne contient pas de champs « title » ou « name » il vous sera demandé si vous souhaitez choisir un champs affiché par CakePHP par défaut.

Choisissez ensuite si vous voulez ajouter un/des critère(s) de validation de champs (email, taille de caractères minimum, etc…)
---------------------------------------------------------------
Please select one of the following validation options:
---------------------------------------------------------------
1. alphaNumeric
2. blank
3. boolean
4. cc
5. comparison
6. custom
7. date
8. datetime
9. decimal
10. email
11. equalTo
12. extension
13. fileSize
14. inList
15. ip
16. lengthBetween
17. luhn
18. maxLength
19. maxLengthBytes
20. mimeType
21. minLength
22. minLengthBytes
23. money
24. multiple
25. naturalNumber
26. notBlank
27. numeric
28. phone
29. postal
30. range
31. time
32. uploadError
33. uploadedFile
34. url
35. userDefined
36. uuid
37 - Do not do any validation on this field.
---------------------------------------------------------------

Définissez ensuite vos associations de model (hasMany, hasOne, belongsTo, etc…)

enfin, validez le résumez de création de votre model exemple:
---------------------------------------------------------------
The following Model will be created:
---------------------------------------------------------------
Name: MonModel
DB Table: `my_database`.`mon_model`
Primary Key: model_primary_key
Validation: Array (
[model_primary_key] => Array (
[notBlank] => notBlank
)
)
---------------------------------------------------------------

Et voila, votre fichier Model est créé, et positionné dans app/Model/MonModel.php

En espérant que ce petit tuto vous sera autant26 utile qu’à nous 🙂