Yii Criteria Multiple Join

this is my SQL query what i want to do

SELECT DISTINCT vehicleid FROM driverdetails_approve dd JOIN driverlanguage dl ON dl.DriverDetailId = dd.DriverDetailId WHERE dl.LanguageId=2

Tis is my CDbCriteria

                $criteria = new CDbCriteria;


                $criteria->select = 'vehicleid';


                $criteria->join ='JOIN driverlanguage dl ON dl.DriverDetailId = dd.DriverDetailId';


                $criteria->condition = 'dl.LanguageId ="2"';                  


                $value = DriverdetailsApprove::model()->FindAll($criteria);

this is ERROR

[color="#8B0000"]CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘dd.DriverDetailId’ in ‘on clause’. The SQL statement executed was: SELECT vehicleid FROM driverdetails_approve t JOIN driverlanguage dl ON dl.DriverDetailId = dd.DriverDetailId[/color]

please solution me

Hello Channa,

In CDbCriteria primary table alias is always "t" unless you set it. try


$criteria->join ='INNER JOIN driverlanguage dl ON dl.DriverDetailId = t.DriverDetailId';

default table alias is ‘t’ if you wanna set to a custom alias


$criteria->alias = "dd";


<?php

$criteria = new CDbCriteria;

$criteria->select = "vehicleid";

$criteria->join = "JOIN driverlanguage dl ON dl.DriverDetailId = t.DriverDetailId";

$criteria->condition = "dl.LanguageId = '2'";

Thank man its working