我的查询如下
$query= (new Query())->select(['title'])
->from('projects')
->join('LEFT JOIN', 'user AS u', 'p.user_ref_id=u.user_id')
->where('p.created_date >= STR_TO_DATE('.'"'.$fmonth.'"'.', "%d-%b-%Y")')
->andWhere('p.created_date <= DATE_ADD(STR_TO_DATE('.'"'.$tmonth.'"'.', "%d-%b-%Y"), INTERVAL 1 DAY)')->all();
如果我打印变量$ query,我的输出低于输出
Array ( [0] => Array ( [title] => test project 1))
但如果我写下面的代码
$query= (new Query())->select(['title'])
->from('projects AS p')
->join('LEFT JOIN', 'user AS u', 'p.user_ref_id=u.user_id')
->where('p.created_date >= STR_TO_DATE('.'"'.$fmonth.'"'.', "%d-%b-%Y")')
->andWhere('p.created_date <= DATE_ADD(STR_TO_DATE('.'"'.$tmonth.'"'.', "%d-%b-%Y"), INTERVAL 1 DAY)');
if(!empty($status)){
$query->andWhere(['p.project_status' => 1]);
}
$query->all();
当我打印上述代码的$ query时。我得到的输出是
yii\db\Query Object ( [select] => Array ( [0] => p.title [1]) [selectOption] => [distinct] => [from] => Array ( [0] => projects AS p ) [join] => Array ( [0] => Array ( [0] => LEFT JOIN [1] => user AS u [2] => p.user_ref_id=u.user_id) )....
当我尝试拆分查询并连接时,为什么会得到此对象/数组格式。是否有任何其他方式来执行以获得类似
的格式 Array ( [0] => Array ( [title] => test project 1))
答案 0 :(得分:0)
如果我在第一种情况下正确理解您正在打印all()
方法的结果,而在第二种情况下,您正在打印Query
对象,因为在打印时没有调用all()
变量,而不是对象本身,因此结果丢失。
如果你在第二种情况下打印$query->all()
,你会得到你想要的。