先引入Builder類sql
use Phalcon\Mvc\Model\Query\Builder as QueryBuilder;
public function mytestAction(){ $builder = new QueryBuilder(); //肯定查詢表 $builder -> from(['parts'=>'Test3\Frontend\Models\Parts']); //關聯表 $builder -> innerJoin('Test3\Frontend\Models\Robots', 'robots.id = parts.robots_id','robots'); // 須要查詢的字段,這裏兩個表的字段均可以 $builder -> columns([ 'robots.name', 'parts.id', 'count(parts.id) as count', //當數據很大時,統計數據時用 ]); // where條件 $builder -> where('parts.id = :id:',array('id' =>1)); // andWhere $builder -> andWhere('robots.name = :name:',array('name' => '你好')); //執行搜索 if (isset($params['conditions'])) { foreach ($params['conditions'] as $field => $val) { if (!preg_match('/^\s*$/', $val)) { //執行模糊搜索 $builder->andWhere("providers.$field like :$field:", array($field => '%' . trim($val) . '%')); } } } // 設置limit條件,order什麼的均可以日後加$builder->order() $builder->limit(5,5); // $builder->limit($rows, ($currentPage - 1) * $rows); 注意:這裏的limit條件和原始sql語句中的limit語句恰好相反 //獲取查詢對象 $query = $builder->getQuery(); //執行並返回結果 $result = $query->execute(); var_dump($result -> toArray());die; }