У меня есть ссылка, которая звонит:
<a href="/coupons/print_coupon/<?php echo $coupon['id']; } ?>" id="print"><span style="margin-left:24px;">Print</span></a>
Он включает правильный идентификатор, и мой маршрут отправляет его в правильный файл просмотра У меня есть команда отладки, чтобы показать весь массив для страницы печати, но я получаю пустой массив. Вот мой код контроллера:
<?php
class CouponsController extends AppController {
public $name='Coupons';
public $uses=array('User', 'Coupon', 'Restaurant');
public $layout='pagelayout';
public function print_coupon($name=null) {
$this->set('title', 'Print your coupon');
$f=$this->Coupon->find('first', array('conditions'=>array('Coupon.id'=>$this->params['id'])));
$this->set('name', $f);
}
}
?>
Вот моя модель купона:
<?php
class Coupon extends AppModel {
public $name='Coupon';
var $belongsTo=array(
'Restaurant'=>array (
'className'=>'Restaurant',
'foreignKey'=>'restaurant_id'
)
);
}
?>
и вот мой ресторан Модель:
<?php
class Restaurant extends AppModel {
public $name='Restaurant';
var $hasMany=array(
'Coupon'=>array(
'className'=>'Coupon',
'foreignKey'=>'restaurant_id'
)
);
var $belongsTo=array(
'User'=>array(
'className'=>'User',
'foreignKey'=>'user'
)
);
}
?>
Я пробовал варианты, используя
<a href="/coupons/print_coupon/<?php echo $res['Restaurant']['coupon']; } ?>" id="print"><span style="margin-left:24px;">Print</span></a>
вместе с моим контроллером:
public function print_coupon($name=null) {
$this->set('title', 'Print your coupon');
$f=$this->Coupon->find('first', array('conditions'=>array('Coupon.id'=>$this->params['id'])));
$this->set('name', $f);
}
, а также несколько других, и всякий раз, когда я отлаживаю ($ name), я получаю пустой массив. У меня не было проблем с тем, чтобы связать Coupon с другими моими моделями для других задач, но я думаю, что-то может быть не так с моей моделью ресторана.
Для справки, у меня они равны между собой:
Restaurants.coupon = Coupon.id
Coupon.restaurant_id = Restaurant.id