FleaPHP数据库操作的Condition分析
在我们使用fleaphp的过程中我们用到最多的可能TDG里面的find之类的函数
,而里面的condition的编写表示不大理解,这里我就大概的讲解一下Condition的使用方式

$condition主要有三个格式
1.数字
$condition=2
数字的意思就是根据主键
=2这样的形式去搜索

2.字符串
$c
其实这个就是我们在平时写sql的时候where之后的那个条件
,更加复杂的如下
$c;
$cmailto:`email`='xiemengjun@gmail.com'">`email`='xiemengjun@gmail.com')";

3.数组形式
3.1数组包含key和value
$condition=array('username'=>'xiemengjun','password'=>'123456');
上面的就是key
=value 然后用and组合 ,上面这个数组的意思就是
$c;

3.2数组元素是字符串
$conditions = array("username <> 'xiemengjun'", "sex = 'male'");
上面的意思就是用and组合
$c;

3.3两种混合方式
$conditions = array(
'leve_ix > 3',
'sex' => 'male',
);
上面的意思就是
$c;

3.4in操作
我们有时候要用到in这样的操作
,那么在condition里面怎么写呢?
$condition=array('in()'=>array(1,2,3))
在默认情况下是主键在后面数组里面搜索
上面的意思就是id in ( 
1,2,3 )

那么如果不是主键的话怎么写了呢
?
$condition=array('in()'=>array('username'=>array('sss','ddd')))
上面的意思就是username in(
'sss','ddd');

3.5自定义组合
大家看到了上面的数组都是用and组合的
,那么我们想用or组合呢?怎么办呢
$conditions =array(
array('Field1','Value1','LIKE','OR'),
array('Field2','Value2','=','OR'),
array('Field3','Value3','>'),
);
上面的意思就是
$c

是不是觉得fleaphp里面的condition很强大
.

4.关联表限制条件
上面我介绍的都是相对于主表而言的
,那么我们如何来操作关联表的条件呢?我们来看下面
$conditions =array(
array('Field1','Value1','LIKE','OR'),
array('mappingName.Field',$this->primaryKey,'=','OR'), //这里的field是指关联表中的字段
array('Field2','Value2','>'),
);

上面的mappingName就是我们在写关联的时候书写的名字
整个的条件的意思就是
$c


就我应用到的condition大概就是上面这一些了
,大家如果还有其他的高级应用希望指点一二!