私はこのコードを持っています:
public function index($offset = 0) {
$params = array(
'stream' => 'companies',
'namespace' => 'companies',
'paginate' => 'yes',
'pag_segment' => 3
);
// Build regular expression to match items from DB
$regexp = "'^[" . strtolower($this->uri->segment(4)) . strtoupper($this->uri->segment(4)) . "]'";
$params['where'] = "name REGEXP " . $regexp;
$entries = $this->streams->entries->get_entries($params);
$this->template->set('items', $entries)->build('index');
}
理由はわかりませんが、2 つのクエリが表示されます。以下の詳細を参照してください。
0.0008 SELECT default_companies.*、cb_users.id as created_by||user_id、cb_users.email as created_by||email、cb_users.username as created_by||username、profiles.display_name as created_by||display_name FROM default_companies LEFT JOIN default_users as cb_users ON cb_users .id=default_companies.created_by LEFT JOIN default_profiles をプロファイルとして on profiles.user_id=default_companies.created_by WHERE (name REGEXP '^[mM]') ORDER BY
default_companies
.created
説明
このクエリは正しいものであり、有効なレコードを生成しますが...
0.0008 SELECT default_companies.*、cb_users.id as created_by||user_id、cb_users.email as created_by||email、cb_users.username as created_by||username、profiles.display_name as created_by||display_name FROM default_companies LEFT JOIN default_users as cb_users ON cb_users .id=default_companies.created_by LEFT JOIN default_profiles をプロファイルとして on profiles.user_id=default_companies.created_by WHERE (name REGEXP '^[mM]') ORDER BY
default_companies
.created
DESC LIMIT 10 オフセット 4
この 2 番目のクエリ (なぜ実行されたのかはまだわかりません) は値を返しませんOFFSET
。これは、ビューが常に空であるというパラメーターのためです。ここで何が問題なのですか?私は何か見落としてますか?PyroCMS 2.2.1 Community を実行しています