Reputation: 478
I am new to Yii2 php
. I have a query which is giving me some results.
$result_set = "SELECT m.`id`,ogpd.`meter_serial`, m.`meter_status` FROM `ogp_header`ogph
INNER JOIN `ogp_detail` ogpd ON ogph.`id` = ogpd.`ogp_id`
INNER JOIN `meters` m ON ogpd.`meter_id` = m.`id`
WHERE ogph.`issuer` = $ogp_id"; // here $ogp_id is 88
The output is
Now I want is to check the value of column meter_status
in the above $result_set
.
So after searching I have found that I have to return the query result in array. So after seeing this answer I have done changes like bellow. Below is what I have done
$result =Yii::$app->db->createCommand("SELECT m.`id`,ogpd.`meter_serial`, m.`meter_status` FROM `ogp_header`ogph
INNER JOIN `ogp_detail` ogpd ON ogph.`id` = ogpd.`ogp_id`
INNER JOIN `meters` m ON ogpd.`meter_id` = m.`id`
WHERE ogph.`issuer` = $ogp_id")->queryAll();
var_dump($result);
exit();
Now when I run my code I am getting array(0) { }
. I don't know why it's not giving me null array.
How can I achieve this? Any help would be highly appreciated.
Upvotes: 2
Views: 1032
Reputation: 133360
Be sure that $ogp_id is correctly assigned and try using a proper binding
$ogp_id = 88;
$result =Yii::$app->db->createCommand("SELECT m.id, ogpd.meter_serial, m.meter_status
FROM ogp_header ogph
INNER JOIN ogp_detail ogpd ON ogph.id = ogpd.ogp_id
INNER JOIN meters m ON ogpd.meter_id = m.id
WHERE ogph.issuer = :ogp_id ")
->bindValue(':ogp_id', $ogp_id)
->queryAll();
var_dump($result);
exit();
and remove unuseful backtics when not needed
Upvotes: 3