利用dar可以很方便地访问、操作模型,具体请参见API文档中的util.dar包。
直接调用模型的save方法即可将模型数据存入数据库表中。对于上面的TLog:
$log = TLog::manager()->create();
$log->title = "我的生日";
$log->content = "生日歌唱起来了,我们快乐地跳舞,那一天,我感到很幸福";
$log->categoryId = 1;
$log->submitDate = date("Y-m-d H:i:s");
$log->save();
这样就将$log这个实例存入了数据库。
也可以一次性地将所有字段的值以数组形式传入:
$log = TLog::manager()->create(array(
"title" => "我的生日",
"content" => "生日歌唱起来了,我们快乐地跳舞,那一天,我感到很幸福",
"categoryId" => 1,
"submitDate" => date("Y-m-d H:i:s")
));
$log->save();
或者:
$log = TLog::manager()->create();
$log->save(array(
"title" => "我的生日",
"content" => "生日歌唱起来了,我们快乐地跳舞,那一天,我感到很幸福",
"categoryId" => 1,
"submitDate" => date("Y-m-d H:i:s")
));
在上面的例子中
TLog::manager()得到是TLog的管理器,通过它不仅可以生成(create())一个模型对象,还可以对模型对象进行查询。
查询单个模型对象的方法有以下几个:
IDarDomain find (mixed $id)
通过主键ID查找模型对象
IDarDomain findByQuery (array $query)
通过查询条件查找,可以在“查询条件的参数”一节查看该查询条件的参数说明。
IDarDomain findByFields(array $array)
根据一组字段的值查找单个模型对象
查询多个模型对象的方法有以下几个:
array findAll(array $query = null)
根据条件查询所有相关记录
array findAllByFields(array $array)
使用字段值查找
array findAllInArray($field, array $array)
查找字段值在数组中的记录
对已有的对象进行更新同样可以使用save方法:
$log = TLog::manager()->find(5);
$log->title = "test 2";
$log->save();
不用担心会新插入一条数据,save方法会智能地判断该对象有无存储过。
如果一个对象没有任何改变,就调用save方法,那么save就会自动不执行任何操作,避免不必要的查询,提高了效率。