获取单个数据

获取单个数据的方法包括:

取出主键为1的数据

$user = UserModel::get(1);
echo $user->user_nickname;

// 使用数组查询
$user = UserModel::get(['user_nickname' => '老猫']);

// 使用闭包查询
$user = UserModel::get(function($query){
    $query->where('user_nickname', 'thinkphp');
});
echo $user->user_nickname;

如果你是在模型内部,请不要使用$this->user_nickname的方式来获取数据,请使用$this->getAttr('user_nickname') 替代。 或者在实例化模型后调用查询方法

$user = new UserModel();
// 查询单个数据
$user->where('user_nickname', '老猫')
    ->find();

get或者find方法返回的是当前模型的对象实例,可以使用模型的方法。

获取多个数据

取出多个数据:

// 根据主键获取多个数据
$users = UserModel::all('1,2,3');
// 或者使用数组
$users = UserModel::all([1,2,3]);
foreach($users as $key=>$user){
    echo $user->user_nickname;
}
// 使用数组查询
$users = UserModel::all(['user_status'=>1]);
// 使用闭包查询
$users = UserModel::all(function($query){
    $query->where('user_status', 1)->limit(3)->order('id', 'asc');
});
foreach($users as $key=>$user){
    echo $user->name;
}

数组方式和闭包方式的数据查询的区别在于,数组方式只能定义查询条件,闭包方式可以支持更多的连贯操作,包括排序、数量限制等。 或者在实例化模型后调用查询方法

$user = new UserModel();
// 查询数据集
$user->where('user_nickname', '老猫')
    ->limit(10)
    ->order('id', 'desc')
    ->select();

模型的all方法或者select方法返回的是一个包含模型对象的二维数组或者数据集对象。

results matching ""

    No results matching ""