Active record nie zwraca wszystkich wyników wyszukiwania

Mam zapytanie do bazy:


SELECT `sensor_name`, `temperature_degrees` FROM `temperature` INNER JOIN `sensor` ON sensor.sensor_id=temperature_sensor_id ORDER BY `temperature_id` DESC LIMIT 2

które działa zwraca to co chcę:


sensor_name temperature_degrees

Czujnik 2   22.12

Czujnik 1   22.19

Zbudowałem więc zapytanie active record, które niestety nie działa:


$temperatures = Temperature::find()->select(['sensor_name','temperature_degrees'])->innerJoin('sensor', 'sensor.sensor_id=temperature_sensor_id')->limit($sensor_count)->orderBy('temperature_id DESC')->all();

czego wynikiem jest tylko zwrócenie wartości temperature_degrees, nie ma sensor_name

Wynik:


[_attributes:yii\db\BaseActiveRecord:private] => Array

                (

                    [temperature_degrees] => 22.12

                )


            [_oldAttributes:yii\db\BaseActiveRecord:private] => Array

                (

                    [temperature_degrees] => 22.12

                )


            [_related:yii\db\BaseActiveRecord:private] => Array

Co robię nie tak?

Znalazłem w manualu taką uwagę

http://www.yiiframework.com/doc-2.0/guide-db-active-record.html

Note: If you call select() while eagerly loading relations, you have to make sure the columns referenced in the relation declarations are being selected. Otherwise, the related models may not be loaded properly. For example,

$orders = Order::find()->select([‘id’, ‘amount’])->with(‘customer’)->all();

// $orders[0]->customer is always null. To fix the problem, you should do the following:

$orders = Order::find()->select([‘id’, ‘amount’, ‘customer_id’])->with(‘customer’)->all();

Można to zapytanie zbudować inaczej, np.

$sql = "twój select"

$wynik = Yii::$app->db->createCommand($sql)->queryAll();

$query = new Query;

$query->select([‘sensor_name’,‘temperature_degrees’])

->from('temperature')....

Dzięki za odpowiedź.

Pomogło dodanie asArray i wtedy ładnie wszystkie wyniki trafiają do tablicy