CakePHP, хотите использовать findById($my_id) вместо findById($id), но получили ошибку:

В моей таблице RedpCategory я использую cat_id как primaryKey, что-то вроде моей модели ниже.

в модели RedpCategory:

<?php
   App::uses('AppModel', 'Model');
   class RedpCategory extends AppModel {
   public $useTable = 'redp_category';
   public $name = 'RedpCategory';
   public $primaryKey = 'cat_id';
//
//
}

с моей точки зрения:

public function view($id = null) {
    if (!$id) {
        throw new NotFoundException(__('Invalid redeem category'));
    }

    $redp_categories = $this->RedpCategory->findById($id);
    if (!$redp_categories) {
        throw new NotFoundException(__('Invalid redeem category'));
    }
    $this->set('redp_categories', $redp_categories);
}

Я получил сообщение об ошибке, когда я нажимаю на ссылку с названием категории: «Неопределенный столбец: 7 ОШИБКА: столбец RedpCategory.id не существует»

Как я могу решить эту проблему?

Любой ответ будет оценен. Спасибо заранее.


person Siemhong    schedule 01.09.2014    source источник
comment
Спасибо СиБроу! На самом деле, я уже видел эту страницу в прошлый раз, но невнимательно прочитал ее, мой плохой! Теперь вы видите это, спасибо.   -  person Siemhong    schedule 01.09.2014


Ответы (1)


findById() будет искать буквальное поле «id».

Попробуйте переключить оператор find на:

$this->RedpCategory->findByCatId($id);

Изменить: отредактирована неверная информация

person Nick Savage    schedule 01.09.2014