准备知识:find
TP的 find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制。当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如展示列表中查看单条详细信息;
//start
public function chekUser(){
header("Content-Type:text/html; charset=utf-8");
$Dao = M("User");
// 构造查询条件
$condition['username'] = 'Admin';
$condition['password'] = MD5('123456');
// 查询数据
$list = $Dao->where($condition)->find();
if($list){
echo '账号正确';
}else{
echo '账号/密码错误';
}
}
//end
与 select() 的另一个不同之处在于,find() 返回的是一个一维数组,可以在模板里直接输出数组单元的值而无需使用 volist 等标签循环输出:view:{$list['username']}
项目实例:
view:
<a href="{:U('bianji', ['user_id'=>$user['id']])}" class="btn btn-default" title="编辑">编辑</a>
控制器:
//start
/**
* 展示user详情
*/
public function bianjiAction($user_id=0)
{
// 通用查询条件
$m_user = M('User');
//匹配userid
$condition['id'] = $user_id;
$m_user = D('User');
$user = $m_user
->table('lb_user')
->field('lb_user.*')
->where($condition)
->find();
$this->assign('user', $user);
echo $m_user->getLastSQL();exit;
$this->display();
}
//end