我builing與警予的應用程序,我試圖做我的SQL調用「非常道」使用警予查詢生成器以相同的方式看到了這個指南警予的MySQL
http://www.yiiframework.com/doc/guide/1.1/en/database.query-builder
上這是我建立的查詢:
$diseaseCountSqlQuery = Yii::app()->db->createCommand()
->select ('tbl_disease.ICD10, COUNT(tbl_disease.ICD10) AS disease_count')
->from ('tbl_disease')
->join ('tbl_symptom_disease', 'ICD10=diseaseCode')
->where ($symptomsOrQueryArray)
->group ('ICD10')
->queryAll();
//placeholder
$maxDiseaseCountQuery = Yii::app()->db->createCommand()
->select ('MAX(disease_count) AS max_disease_count')
->from ($diseaseCountSqlQuery)
->queryAll();
//multiple symptom query
$diseaseCodes = Yii::app()->db->createCommand()
->select ('ICD10')
->from ($maxDiseaseCountQuery)
->join ($diseaseCountSqlQuery, 'max_disease_count=disease_count')
->queryAll();
的問題在第二個命令將顯示具體線路:
->from ($diseaseCountSqlQuery)
我得到一個「strpos()期望參數1是字符串,數組給定」錯誤。
我可以解決我的問題,只需將整個mysql命令複製到一個字符串,然後使用create命令,但我想用這個更「優雅」的方式。有人可以幫我修復它,並解釋一下子查詢如何與查詢構建器一起工作?謝謝:)
錯誤告訴你到底是什麼問題:你想使用其中一個字符串預計的數組。你需要做一個'foreach($ diseaseCountSqlQuery作爲$ part){...-> from($ part)}'或者其他任何東西。 –
好吧,那麼有沒有辦法在不同的查詢中使用sql命令的結果表? –