我可以在cakephp中为每个嵌套

时间:2012-12-12 06:28:51

标签: cakephp-2.1

我在cakephp中有问题

控制器

$due = $this->Issue->find('all' , array('conditions' => array ('Issue.user_id'=>6)));
$this->set('due',$due);
$id = $due['0']['Issue']['book_id'];
$b = $this->Bookmaster->find('first' , array ('conditions' => array ('Bookmaster.id' => $bookid)));
$book = $this->Book->find('all',array('conditions' => array ('Book.id' =>$id)));
$bookid = $book['0']['Book']['bookmaster_id'];

Ctp包含

<h1> ISSUED BOOK DETAILS </h1>
<table width="200" border="2" bordercolor="#009933">
<tr>
<td> BOOK ID </td>
<td> TITLE </td>
<td> AUTHOR </td>
<td> EDITION </td>
<td>ISSUED ON  </td>
<td> DUE DATE </td>
<td> POTENTIAL FINE</td>
</tr>
 <?php foreach ($due  as $data  ) { ?> <tr> 

<td> <?php  echo $data['Issue']['book_id']; ?> </td> 
<td> <?php   echo $b ['Bookmaster']['title'] ;?></td> 
<td> <?php  echo $b['Bookmaster']['author'];?></td>  
<td> <?php  echo $b ['Bookmaster']['edition'];?> </td>  
<td> <?php echo $data['Issue']['issue_date_time']; ?> </td> 
<td> <?php  echo $data['Issue']['due_date']; ?> </td>  
<td> <?php echo $out['Fine']['fineamount'];?> </td> 
 </tr> <?php }?>
</table>

我的问题是如何使用for循环来操作它。 我的循环没有为bookmaster迭代..所以我怎么能这样做..

如何增加bookid的值

1 个答案:

答案 0 :(得分:0)

问题是你在$due上循环,而$ b数据是一个键值数组(即$b[0]['bd']$b[1]['bd']$b[2]['bd']等。)因此,您要搜索的数组的键(或索引)将不会与$due循环对齐。

更好的解决方案是编写连接,这样每条记录都包含您需要的信息,循环将能够显示您需要的数据。您需要更多的要求/信息才能使此处的任何人提供建议。