0

フォームから特定の単語を取得した後。データベース内の複数のテーブルからこの単語のような結果を取得したい。

function search(){
    $search = $this->input->post('searchword');
    $this->db->select('articles.title, articles.post');
    $this->db->select('files.name, files.desc');
    $this->db->select('news.title, news.post');
    $this->db->select('projects.title, projects.desc');
    $this->db->from('articles, files, news, projects');

    // I think problem is here
    $like = array('articles.title' => $search,'articles.post' => $search,
    'files.name' => $search,'files.desc' => $search,
    'news.title' => $search,'news.post' => $search,
    'projects.title' => $search, 'projects.desc' => $search);
    $this->db->like($like);


    return $this->db->get();

}
4

1 に答える 1

1

CIの参加はがらくたです...

私は常に結合を使用して適切なSQLステートメントを作成し、それを実行します。

$query = $this->db->query("BUILD A PROPERLY JOINED QUERY!");

自分でそれを行うことができない場合は...PHPMyAdminまたはMySQLWorkbenchでクエリを作成し、期待どおりの結果が得られることを確認してください。

また、私はCIのActive Recordのファンではありませんが、この投稿を見て、作成する結合を調整してください-http://codeigniter.com/forums/viewthread/93198/

于 2012-10-15T13:34:05.827 に答える