0
我想用四個搜索詞建立一個搜索。我正在使用Kohana 3.0.7並使用ORM。在普通的SQL中,我可以檢查是否設置了特定字段並將其添加到查詢中。我的查詢如下 -在kohana 3.0和ORM中使用多個輸入搜索
$search_sql = "Select E.*, B.*
from events as E
INNER JOIN businesses as B
on E.business_id = B.id
";
if(!empty($date_term)) {
$search_sql .=" where E.start_time like '%".$date_term."%'";
}
else {
$search_sql .=" where E.start_time like '".date('Y-m-d')."%'";
}
if(!empty($keyword_term)) {
$search_sql .=" AND E.title like '%".$keyword_term."%'";
$search_sql .=" OR B.description like '%".$keyword_term."%'";
}
if(!empty($location_term)) {
$search_sql .=" AND B.city like '%".$location_term."%'";
$search_sql .=" OR B.state like '%".$location_term."%'";
}
if(!empty($zip_term)) {
$search_sql .=" AND B.zip_code like '%".$zip_term."%'";
}
如果我運行此查詢作爲
$query = DB::query(Database::SELECT,$search_sql);
$res_query = $query->execute();
我不能,如果我在ORM方式運行此查詢訪問對象和它的方法,我可以返回。但是我無法檢查這些字段並將它們添加到查詢中。
我會試試這個並更新回來。謝謝:) – KutePHP
' - > as_object()'只返回一個對象,而不是ORM模型。你需要' - > as_object('event')'例如,但我不認爲它會起作用。 – biakaveron
現在應該很容易切換到ORM代碼(編輯我的答案),因爲你可以混合使用ORM與查詢生成器:) – matino