2011-09-08 54 views
1

我對我的項目使用了symfony框架,但是很多時候我很困惑在doctrine模式下編寫mysql查詢,所以,請告訴我如何在symfony中編寫自定義查詢, like如何在symfony中編寫自定義查詢

SELECT * FROM USER WHERE A.ID = 'X3B8882' 
+0

你的答案是在http://stackoverflow.com/questions/5324960/execute-custom-sql-in-symfony –

+0

給你說的是Symfony的-2.0或之前的所有版本? – gilden

回答

1
$query="SELECT * FROM USER WHERE A.ID = 'X3B8882'"  

$conn = Doctrine_Manager::getInstance()->connection(); 
    $stmt = $conn->prepare($query); 
    $stmt->execute(); 
    while ($row = $stmt->fetch()) { 
     $results[] = $row['sm_mnuitem_webpage_url'] ; 

    } 
2

您的SQL是無效的,但假設是A到用戶表的引用:

$user = Doctrine_Query::create() 
    ->from("User a") 
    ->where("a.id = ?", "X3B8882") 
    ->fetchOne(); 

或替代地

$user = UserTable::getInstance()->findOneById("X3B8882"); 

這是最基本的查詢之一,所以我強烈建議你閱讀doctrine主頁上的文檔。