Sunday, 15 March 2015

php - Looping through associated data in CakePHP -



php - Looping through associated data in CakePHP -

i feeling way through cakephp, trying replicate can in vanilla php.

i have 2 tables, events , eventlist. events contains general info event. eventlist contains info appears bullet-pointed list on each event page.

eventlist consists of id, event_id links each entry relevant event in event table, , string displayed on page. in vanilla php, select list_info eventlist event_id = 1 or whatever, , loop through resulting array.

however, have no thought start in cakephp, , i'm not sure how i'd search find out.

i have created association between 2 tables:

class event extends appmodel{ public $hasmany = array( 'eventlist' ); }

class eventlist extends appmodel{

public $usetable = 'eventlist'; public $belongsto = array( 'event' );

}

and have simple view set event:

<h2><?php echo $event['event']['event_name'] ?></h2> <p><?php echo $event['event']['event_description']?></p> <h3>£<?php echo $event['event']['event_cost']?></p>

but have no thought - new cakephp , mvc whole. assume need in eventlistcontroller load info array. help appreciated.

by default, relationships have setup should homecoming associated info when query event. there number of ways info in displayable format, such using html helper output (un)ordered list. but, illustration below should help.

also, quick way debug results finding record in controller utilize pr (an alias print_r) pr($event);exit;. there other ways debug too, quick , dirty method if you're working locally.

controller $event = $this->event->findbyid(`event_id`); $this->set(compact('event')); view <h2><?php echo $event['event']['event_name'] ?></h2> <p><?php echo $event['event']['event_description']?></p> <p>£<?php echo $event['event']['event_cost']?></p> <!-- output each list item in paragraph --> <p> <?php foreach($event['eventlist'] $listitem: echo $listitem['listitemcolumn']; endforeach; ?> </p>

again...many many ways , output data, long , short returned results should have array key event , array key eventlist info each table stored within keys.

php cakephp

No comments:

Post a Comment