2010-04-25 4 views
17

Làm thế nào để viết) phương pháp (?:NHƯ và% Wildcard trong findBy * Học thuyết của()

SELECT column_name1, column_name2 FROM table_name 
WHERE column_name3 LIKE '%search_key%'; 

Ví dụ, để lấy nhiều hàng từ một cột có tên là "ColumnName truy vấn MySQL sau sử dụng findBy * Học thuyết của "(dưới đây) sử dụng Doctrine:

$users = Doctrine::getTable('User')->findByColumnName('active'); 

echo $users[0]->username; 
echo $users[1]->username; 

tôi đã cố gắng:

$search_key = 'some value'; 
$users = Doctrine::getTable('User')->findByColumnName('%$search_key%'); 

    echo $users[0]->username; 
    echo $users[1]->username; 

và tôi đã không có lỗi, nhưng không hiển thị.

Bất kỳ hỗ trợ nào sẽ thực sự được đánh giá cao. Cảm ơn trước.

Trả lời

21
$users = Doctrine::getTable('User')->createQuery('u') 
    ->where('column_name3 LIKE ?', '%search_key%') 
    ->execute(); 
+0

+1. Tốt, cảm ơn Coronatus – Anthony

+0

@Coronatus, nếu tôi có biến có tên $ search_key chứa giá trị của một cái gì đó để tìm kiếm, làm cách nào để thay thế% search_key% bằng% $ search_key% trong truy vấn của tôi? – Anthony

+0

ok cảm ơn cho mẹo! – Anthony