hasMany / belongsTo problème

44 views
Skip to first unread message

thomas.fortier

unread,
Nov 9, 2009, 3:16:16 PM11/9/09
to Cakephp-fr
Bonjour, j'ai beson de faire afficher tous mes projets et le client
associé. Je ne suis pas sûr de comment faire mes liens.

J'ai donc comme model Projet :

[code]
<?php
class Project extends AppModel {
var $useTable = 'ProjInfo';
var $hasMany = 'Client';
}
?>
[/code]

et client:

[code]
<?php
class Client extends AppModel {
var $useTable = 'Cust';
var $belongsTo = array(
'Project' => array(
'className' => 'Project',
'foreignKey' => 'InCustId'
)
);
}
?>
[/code]

Et pour ma vues :

[code]
<?php foreach ($projects as $project): ?>
<tr>
<td><?php echo $project['Project']['ProjId']; ?></td>
<td><?php echo $project['Project']['Descr']; ?></td>
<td><?php echo $project['Client']['InCustId']; ?></td>
[...]
<?php endforeach; ?>
[/code]

Voici mon code de controller :

[code]
<?php
class ProjectsController extends AppController {
function index() {
$project_list = $this->Project->find('all', array('limit' => 25));
$this->set('projects', $project_list);
}
[/code]



Avec ceci, j'ai une erreur de ce type :
[code]Invalid argument supplied for foreach() [APP\views\projects
\index.ctp, line 8][/code]
J'ai bien beau regarder ce tutoriel et je m'en sort pas:
http://book.cakephp.org/view/78/Associations-Linking-Models-Together

Merci de votre aide.

mamadou diallo

unread,
Nov 9, 2009, 7:23:18 PM11/9/09
to cakep...@googlegroups.com
Bonjour,
essaie d'afficher les donnees a partir du controler avec u var_dump au niveau de la vue ou sur le fichier log.
Si tu arrives a avoir des données cela veut que l'errur ce trouve sur ta vue mais
je pense que tu n'aura ^pas de donnees vue tu n'as pas donner de nom à ton model(NB : avc ta façon d'utiliser les models tu es tenues de leur attribuer le qui sera utiliser par le controler et la vue)
Je pense que c ça ton probleme.
Tiens moi au couran si tu proble persite et envoie tes fichers .

NB: toujours essayer d'afficher les par print_r() ou var_dump() afin de voir si arrive à recuper quelque chose dans le controller avant de les balancer sur la vue.
Reply all
Reply to author
Forward
0 new messages