2016-04-11 2 views
1

私は自分のプロジェクトと検索を実装するためにcodeigniterを使用しています。自分の車でユーザーテーブルからユーザーを除外したいこのテーブルの構造は、フロントエンドで
codeigniterの使い方コンマで区切られた行の値がどこにあるか

+-----+----------+---------------------+---------------+ 
| #id | username |  cars   | other_details | 
+-----+----------+---------------------+---------------+ 
| 1 | MAC  | Jaguar,Porche  | --   | 
| 2 | DEV  | Porche,Ferrari,Ford | --   | 
| 3 | MONICA | Ford,Audi   | --   | 
+-----+----------+---------------------+---------------+ 

の下に表示され、私は[「ポルシェ」、「フェラーリ」]のようなこれらの車を持っている検索ユーザーのための車の配列を返すされているチェックボックスからの車を選択しています。私はモデルでcodeigniterのアクティブレコードを使用するユーザーを取得する方法の解決策を見つけることができません。車を利用できるユーザー/行を配列で取得する方法を教えてください。 ありがとうございます。

+1

最初の手順はスキーマの正規化である必要があります。さもなければ、あなたは 'FIND_IN_SET'か他の最適解分割解で終わるでしょう。 – lad2025

+0

依存関係のためにこの列を正規化することはできません。私はFIND_IN_SETと一緒に行くことができますが、配列でどのように使用するのか分かりません。 – AnkitJ

+0

2つの方法があります... 'POST'配列を破棄し、' foreach'で 'LIKE'を使用してください またはクエリで' RLIKE'を使用します。 – Apoorv

答えて

0

最後に、私は答えを見つける。
最初に、コンマ(、)で暗黙の配列を持っていて、次にこのような答えを得るためにSQLクエリと正規表現を使用しました。

$this->db->sql("select * from users where `cars` NOT REGEXP '$cars'"); 

このクエリは、私の要件に従ってデータを提供します。

関連する問題