2011-10-09 17 views
-1

以下のリンクはFavorsのリストで使用されています!これは、ユーザーがいるが、賛成リストの中で使用されている場所にリンクします。したがって、favor変数。CakePHPリンク上の関係

私は3つのモデルのユーザー、プレイスと恩恵を持っています。ユーザーは多くの好意と1つの場所を持ち、好意はユーザーに属します。

<?php foreach($favours as $favour): ?> 

<p><?php echo $this->Html->link($favour['User']['firstname'] . ' ' . $favour['User']['lastname'], array('controller'=>'users','action'=>'view','userName'=>$favour['User']['username'])); ?> in <?php echo $this->Html->link($favour['Place']['name'], array('controller'=>'places','action'=>'view',$favour['Place']['id'])); ?> asked a favour <?php echo $favour['Favour']['datetime']; ?></p> 

<h3><?php echo $this->Html->link($favour['Favour']['title'], array('controller'=>'favours','action'=>'view',$favour['Favour']['id'])); ?></h3> 

場所が未定義であるというエラーが表示された時点でのリンクの表示方法を教えてください。

これはそのリストのためのコントローラのアクションです:

function index() 
{ 
    $favours = $this->paginate(); 

    if (isset($this->params['requested'])) 
    { 
     return $favours; 
    } 
    else 
    { 
     $this->set('favours', $favours); 
    } 
} 

答えて

0

は好意のためのデータをフェッチするときに場所が含まれていることを確認してください。

+0

?私はそれがどういう意味か分かりません:( – Cameron

+0

http://book.cakephp.org/view/1323/Containable – Ivo

+0

私はまだ非常に混乱しています:/おそらくいくつかのコードで答えを投稿できますか?ありがとうございました – Cameron

0

これはあなたのfavours_controllerでのようになります方法です。

function index(){ 
    $favours = $this->Favour->find('all'); 
    $places = $this->Favour->Place->find('all'); 
    $this->paginate(); 
    $this->set(compact('users', 'places'); 
} 

これは、それはあなたのindex.ctpでのようになります方法です。

<?php foreach($favours as $favour): ?> 
<?php echo $this->Html->link($favour['Favour']['username'], array('controller'=>'users','action'=>'view', $favour['Favour']['username'])); ?> 
<?php endforeach; ?> 
<?php foreach($places as $place): ?> 
<?php echo $this->Html->link($place['Place']['place'], array('controller'=>'places','action'=>'view', $place['Place']['place'])); ?> 
<?php endforeach; ?> 

またusesを定義する必要があるかもしれません変数:

var $uses = array('Place'); 
+0

質問を読んだことがありますか?:)問題は、それらがFavorとplaceとの間に直接の関係がないことです。場所はユーザーに接続されていて、ユーザーが好意を持っているので、私が好意のリストを表示すると、そのユーザーとユーザーとの関係のみを行い、場所情報を取得できません。 – Cameron

+0

@Cameron私は私の質問を更新しました。私はあなたがしていることを誤解しました。 –

+0

ありがとうございますが、私は場所を掲載していません;)私は単純にユーザーの場所を示しているので、ハザーズフィールドの「Cameron in Huddersfield」のように、2011年10月9日に寄付を求めました。その著者とリンクされている場所。 – Cameron