在Cakephp 3中查找查询时无法基于多个id进行搜索

I have two tables category and product. I want to get details of product whose id are passed in conditions array of find query. The problem is when i pass condition as an array, it returns

Cannot convert value to integer

Secondly, if i debug it by passing only one id it returns category record, but it should return product record. Please help to solve my issue.

My code is as follows:

 public function display()
    {
      $ids = array(1,2,3,4,5);
      $c_List = $this->Products->Categories->find('all',array('conditions'=>array('Categories.category_id'=>$ids)));
      $data = $c_List->toArray();
       debug($data);
       die();
    }

Model - ProductsTable.php

public function initialize(array $config)
    {
        parent::initialize($config);

        $this->setTable('products');
        $this->setDisplayField('product_id');
        $this->setPrimaryKey('product_id');

        $this->belongsTo('Products', [
            'foreignKey' => 'product_id',
            'joinType' => 'INNER'
        ]);
        $this->belongsTo('Categories', [
            'foreignKey' => 'category_id',
            'joinType' => 'INNER'
        ]);
    }

Model - CategoriesTable.php

public function initialize(array $config)
    {
        parent::initialize($config);

        $this->setTable('categories');
        $this->setDisplayField('category_id');
        $this->setPrimaryKey('category_id');

        $this->belongsTo('Categories', [
            'foreignKey' => 'category_id',
            'joinType' => 'INNER'
        ]);
    }

When you are finding the records based on an array of ids, use IN in the condition clause.

public function display()
    {
      $ids = array(1,2,3,4,5);
      $c_List = $this->Products->Categories->find('all',array('conditions'=>array('Categories.category_id IN'=>$ids)));
      $data = $c_List->hydrate(false)->toArray();
       pr($data);
       die();
    }