コード例 #1
0
ファイル: Student.php プロジェクト: hugonicolas/Site
    /**
     * Autocomplete the firstname/lastname of a student
     *
     * @param string $query	Part of a name
     * @param string $limit	Number of results
     * @return array
     */
    public function autocomplete($query, $limit)
    {
        $search_model = new Search_Model();
        $students = $search_model->autocomplete($query, 'student', $limit);
        if (count($students) == 0) {
            return array();
        }
        $usernames = array();
        foreach ($students as $student) {
            $usernames[] = $student['_id'];
        }
        $students = DB::select('
			SELECT u.id AS user_id, s.username, s.firstname, s.lastname
			FROM students s
			INNER JOIN users u ON u.username = s.username
			WHERE s.username IN ("' . implode('","', $usernames) . '")
		');
        $students_by_username = array();
        $students_sorted = array();
        foreach ($students as $student) {
            $students_by_username[$student['username']] = $student;
        }
        foreach ($usernames as $username) {
            if (isset($students_by_username[$username])) {
                $students_sorted[] = $students_by_username[$username];
            }
        }
        return $students_sorted;
    }