How to execute custom query in cakephp 3.x

Khushang Bhavnagarwala. picture Khushang Bhavnagarwala. · Jan 1, 2016 · Viewed 16.5k times · Source

Custom query execution in cakephp. I have applied below code.

$conn = ConnectionManager::get('default');

$rs = $conn->query('SELECT * FROM customers');

It gives me blank array though customers table has 20 records.

Please suggest me some solution.

Thanks.

Answer

MSS picture MSS · Jan 1, 2016

It's not recommended but somtimes there is no other way! :

  1. You should mention namespace of connection manger

    use Cake\Datasource\ConnectionManager;
    
  2. Get/initialize a connection

    $conn = ConnectionManager::get('default');
    
  3. Execute SQL with something like this

    $stmt = $conn->execute('SELECT * FROM customers');
    
  4. Fetch the results

    $results = $stmt ->fetchAll('assoc');
    

See also