在cakephp 3中无法关联产品和类别表

时间:2017-12-06 18:13:57

标签: php cakephp cakephp-3.0

我有一个表结构:

  

产品:

  1. products_id
  2. PRODUCT_NAME
  3. PRODUCT_PRICE
  4. PRODUCT_DESCRIPTION
  5. CATEGORY_ID
  6.   

    类:

    1. category_id
    2. CATEGORY_NAME
    3. 分别添加和编辑产品和类别有两种不同的形式。我想关联这两个表,以便我不必根据编辑表单下拉列表中的category_id搜索category_name。 我尝试过关联它但我遇到了以下错误:

        

      表“Cake \ ORM \ Table”与“Categories”

      无关
      class ProductsTable extends Table {
         public function initialize(array $config){
              $this->table('Products');
              $this->primaryKey('product_id');
             $this->belongsTo('Categories', ['foreignKey' => 'product_id']);
      
          }
      }
      
      
      class CategoriesTable extends Table {
        public function initialize(array $config){
           $this->table('Categories');
           $this->primaryKey('category_id');
            $this->hasMany('Products', ['foreignKey' => 'category_id']);
          }
      }
      

      查看:

        public function index()
          {
      $this->set('categories', $this->Products->Categories->find('list', array('fields' => array('Categories.category_id'),'value'=>array('Categories.category_name'))));
      }
      

      请帮助解决我的问题。

1 个答案:

答案 0 :(得分:0)

变化 $这 - > PrimaryKey的( 'PRODUCT_ID'); 至  $这 - > PrimaryKey的( 'products_id');

并添加 $这 - > displayField( 'CATEGORY_NAME');