i have done that.. here is my full questions_controller.php <?php class QuestionsController extends AppController { var $name = 'Questions'; function home() { $this->Question->recursive = 'all'; $this->set('questions', $this->Question->find('all')); } function show( $id = null) { if (!$id) { $this->Session->setFlash('Invalid Question.'); $this->redirect(array('action'=>'home')); } $this->set('question', $this->Question->read(null, $id)); } } ?>
=========================== On Dec 8, 12:10 am, Rob <[EMAIL PROTECTED]> wrote: > Well based on your post, you are not getting the related model, and it > appears you've only done a find on the Questions without setting > recursive in your find('all'), try this: > > $this->set('questions', $this->Question->find('all', array > ('recursive' => 1))); > > On Dec 7, 9:55 am, Tanay <[EMAIL PROTECTED]> wrote: > > > > > MODEL answers.php > > > <?php > > class Answer extends AppModel { > > var $name = 'Answer'; > > var $belongsTo = array( > > 'Question' => array( > > 'className' => 'Question' > > ) > > ); > > } > > ?> > > > Model questions.php > > > <?php > > class Question extends AppModel { > > var $name = 'Question'; > > var $hasMany = array( > > 'Answer' => array( > > 'className' => 'Answer' > > ) > > ); > > } > > ?> > > > =========================== > > > On Dec 7, 11:00 am, thatsgreat2345 <[EMAIL PROTECTED]> wrote: > > > > Post your model code so we can see if you are doing your associations > > > correctly, or if they are spelled correctly. > > > > On Dec 6, 9:50 pm, Tanay <[EMAIL PROTECTED]> wrote: > > > > > it seems no relationships are working with my cakephp. > > > > has it got anything to do with my version of php5? > > > > > i have got struck at this for a long time. > > > > help will be very greatly appreciated. > > > > > here is the var_dump of $questions as seen in home.ctp > > > > array(2) { [0]=> array(1) { ["Question"]=> array(5) { ["id"]=> string > > > > (1) "1" ["question"]=> string(22) "Why do you use > > > > CakePHP" ["questioner"]=> string(5) "Ahsan" ["created"]=> string(19) > > > > "2008-02-11 22:19:04" ["modified"]=> string(19) "2008-02-11 > > > > 22:19:04" } } [1]=> array(1) { ["Question"]=> array(5) { ["id"]=> > > > > string(1) "2" ["question"]=> string(25) "Why won't you use > > > > CakePHP" ["questioner"]=> string(5) "Ahsan" ["created"]=> string(19) > > > > "2008-02-11 22:22:06" ["modified"]=> string(19) "2008-02-11 > > > > 22:22:06" } } } > > > > > coresponding queries sql dump is > > > > DESCRIBE `questions` > > > > SELECT `Question`.`id`, `Question`.`question`, > > > > `Question`.`questioner`, `Question`.`created`, `Question`.`modified` > > > > FROM `questions` AS `Question` WHERE 1 = 1 > > > > > On Dec 7, 1:47 am, thatsgreat2345 <[EMAIL PROTECTED]> wrote: > > > > > > I see you are using the Packt Publishing book, ensure that your model > > > > > relations aren't misspelled or anything else it won't load the answers > > > > > and thus won't exist, in the controller do a debug on the find, that > > > > > or in the view do a pr($questions) before the foreach this will > > > > > display the array and see what exactly what is in the array. > > > > > > On Dec 6, 9:40 am, Tanay <[EMAIL PROTECTED]> wrote: > > > > > > > Tanay wrote: > > > > > > > i have two dbs questions , and answers.. > > > > > > > > corresponding models > > > > > > > > questions has many answers > > > > > > > answers belogns to questions > > > > > > > > in questions_controller, i have this home function > > > > > > > function home() { > > > > > > > $this->Question->recursive = 1; > > > > > > > $this->set('questions', $this->Question->find('all')); > > > > > > > } > > > > > > > > in my home.ctp, i tried to show the corresponding answers using > > > > > > > the > > > > > > > code below > > > > > > > i took a question from an array of questions using foreach > > > > > > > foreach question, $question['Answer'] is expected to give array of > > > > > > > answers, but it says Undefined index: Answer > > > > > > > THAT LIne is marked in code below > > > > > > > > home.ctp: > > > > > > > > <?php if(empty($questions)): ?> > > > > > > > <p class="no_answer">No Questions yet. Be the first one to > > > > > > > post a Question!</p> > > > > > > > <?php else: ?> > > > > > > > <dl> > > > > > > > <?php foreach ($questions as $question): ?> > > > > > > > <dt><span><?php e($question['Question']['questioner']); > > > > > > > ?></span></dt> > > > > > > > <dd> > > > > > > > <?php e($html->link($question['Question']['question'] > > > > > > > .'?', array('action' => 'show', > > > > > > > $question['Question']['id']))); ?> > > > > > > > <?php > > > > > > > $answer_count = count($question > > > > > > > ['Answer']); ////////// <<-----------------ERROR HERE > > > > > > > if(!$answer_count) > > > > > > > e("(no answers yet)"); > > > > > > > else if($answer_count == 1) > > > > > > > e("(1 answer)"); > > > > > > > else > > > > > > > e("(".$answer_count." answers)"); > > > > > > > ?> > > > > > > > </dd> > > > > > > > <?php endforeach; ?> > > > > > > > </dl> > > > > > > > <?php endif; ?> > > > > > > > > the above code is a part of project in book CakePHP application > > > > > > > Development, > > > > > > > the code is same as in book > > > > > > > is it due to some different version of cakephp that author used? > > > > > > > i use latest 1.2 version > > > > > > > . . . . . . > > > > > > Still the same. But now it says > > > > > > The new variable name $question['question']['answer'] is undefined > > > > > > index. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---