getBy动态查询
ThinkPHP getBy动态查询是一个魔术方法,可以根据某个字段名称动态得到对应的一条数据记录。
根据用户名(username)查询对应的用户资料记录:
public function chekUser(){ header("Content-Type:text/html; charset=utf-8"); $Dao = M("User"); // 查询数据 $user = $Dao->getByUsername('Admin'); if($list){ echo '用户名存在'; }else{ echo '用户名不存在'; }}
方法中传入的参数是查询的字段对应的值,上面例子执行的 SQL 语句为:
SELECT * FROM user WHERE username = 'Admin' LIMIT 1
请注意,在getBy之后紧跟着的字段名称,首字母必须大写。对于如 user_name 这样的字段名称,以驼峰法自动识别下划线,即:
$user = $Dao->getByUserName('Admin');
实际使用中可以灵活根据查询的字段名来定义 getBy 放入,如:getByEmail、getByTitle、getById 等。