2012-02-17 26 views
6

để tôi có thể tìm kiếm các giá trị cụ thể bằng cách làmlàm thế nào để sử dụng LIKE với điều kiện trong sqlite hoặc mysql với lithium recordset

 $recordset= Model::find('all', array(
      'conditions' => array(
       'condition' => $somevalue 
      ) 
     )) 

Tuy nhiên, tôi phải làm gì nếu tôi muốn để phù hợp trên một giá trị từng phần?
ngay bây giờ, tôi đã viện đến cách viết các truy vấn bản thân mình, a la:

$abc = Connections::get('default')-> 
    read('SELECT * FROM myTable WHERE condition LIKE "%partial string%"'); 

Trả lời

7

Đây là cách tôi làm một SQL 'như' tìm kiếm:

$user = User::find('all', array(
     'conditions' => array(
      'first_name' => array('like' => '%yeun%')) 
     ) 
); 

'như' là từ khóa, đó.

Điều đó sẽ tạo ra một truy vấn như:

SELECT * FROM `users` AS `Users` WHERE (`first_name` like '%yeun%'); 

Hy vọng rằng sẽ giúp.

+0

nơi có thể tìm thấy cú pháp của điều kiện trong Lithium? – Crusader

+0

[Kiểm tra Lithium] (https://github.com/UnionOfRAD/lithium/blob/master/tests/cases/data/source/DatabaseTest.php) là cách tốt nhất để tìm hiểu. Nguồn được kiểm tra rất tốt và nếu bạn có vấn đề mà bạn thực sự không thể tự giải quyết, tôi đã tìm thấy [kênh IRC] của họ (https://github.com/UnionOfRAD/lithium/wiki/Participate) để rất hữu ích (khi mọi người xung quanh). Tôi thậm chí đã giải quyết được rất nhiều vấn đề chỉ bằng cách đọc [nhật ký IRC] của họ (http://lithify.me/en/bot/logs/li3). – Housni

+1

tuyệt vời! nhật ký trò chuyện thay vì tài liệu – Crusader

Các vấn đề liên quan