0

CIデータベースヘルパー/クラス/ライブラリを把握しようとしています。そして、コアの基本は問題ありません。しかし、私はORMを使用するのではなく、クエリをまっすぐに書くことに慣れているので、少し混乱します。ともかく..

私はこの質問があります

SELECT * FROM my_table 
  WHERE ((a_id = xx OR b_id = xx) AND (a_id = zz OR b_id = zz)) 
  AND active = 1

基本的に、2人のユーザーが相互に関連付けられているテーブルがありますが、複数のユーザーがいるため、接続が存在することを確認する必要があります。具体的には、アクティブフラグが存在する2人の間です。

ただし、CIのORMでそのクエリを処理する方法がわからないため、この問題に関するガイダンスを求めています。

4

3 に答える 3

1

私のこの答えを見てください。これにより、サブクエリの使用方法やアクティブなレコードでのこの種の状況の使用方法についてかなり良いアイデアが得られます

この SQL を CodeIgniter のアクティブ レコードに書き直すにはどうすればよいですか?

于 2012-10-04T06:32:10.333 に答える
1

Try the following code

$this->db->select('*');
$this->db->where('(a_id = "xx" or b_id = "xx")';
$this->db->where('(a_id = "zz" or b_id = "zz")';
$this->db->where('active', '1');
于 2012-10-04T06:12:29.433 に答える
1

アクティブなレコードを使用したくない場合は、この方法で行うことができます

$this->load->database();
$sql = "SELECT * FROM mytable WHERE visible = 't' ORDER BY symbol";
$query = $this->db->query($sql);
return $query->result();

http://codeigniter.com/user_guide/database/queries.htmlを参照してください。

于 2012-10-04T15:44:48.133 に答える