2009-12-17 5 views
16

Ich verwende Zend Framework. Ich verwende folgende Abfrage in Zend und es funktioniert perfekt für mich.Zend: Wie benutzt man die SQL-Abfrage mit 'Like' Keyword?

$table = $this->getDbTable(); 
$select = $table->select(); 
$select->where('name = ?', 'UserName'); 
$rows = $table->fetchAll($select); 

Jetzt möchte ich eine weitere Abfrage in Zend mit 'Like' Keyword erstellen. In einfachem SQL ist es so.

SELECT * FROM Users WHERE name LIKE 'U%' 

Jetzt, wie man meinen zend Code für oben genannte Abfrage umwandelt?

Antwort

41

Versuchen:

$table = $this->getDbTable(); 
$select = $table->select(); 
$select->where('name LIKE ?', 'UserName%'); 
$rows = $table->fetchAll($select); 

oder wenn Username ist eine Variable:

$table = $this->getDbTable(); 
$select = $table->select(); 
$select->where('name LIKE ?', $userName.'%'); 
$rows = $table->fetchAll($select); 
0
$user = new Application_Model_DbTable_User(); 
// User List 
$uname=$_POST['uname']; 

$query = $user 
    ->select() 
    ->where('firstname LIKE ?', $uname.'%') 
    ->ORwhere('lastname LIKE ?', $_POST['lname'].'%') 
    ->ORwhere('emailid LIKE ?', $_POST['email'].'%'); 

$userlist = $user->fetchAll($query);