使用总结
在控制器中模型操作
get() 和 all()只能单独使用来查询数据
想要链式操作查询数据 需要使用find() 和select() 这里返回的都是对象集
在User控制器中use app\console\model\User as UserModel;
$user = UserModel::all();
dump($user);
exit();
'这里会输出数据对象集 表示可用$user = UserModel::select();
dump($user);
exit();
'输出的也是数据对象集$user = UserModel::get();
dump($user);
exit();
'这里返回到是ID为1用户
'尝试把ID为1的用户删除掉 返回的是ID为2的数据
'所以这里直接使用get()不带参数 会返回一个根据ID正序排列的第一个数据对象$user = UserModel::find();
dump($user);
exit();
'使用find() 和使用 get() 是一样的用法 单纯使用时$user = UserModel::where('id',5)->get();
dump($user);
exit();
'这里会报错
'[ error ] method not exist:think\db\Query->get$user = UserModel::where('id',5)->find();
dump($user);
exit();
'返回用户ID为5的对象 如果查找的用户数据不存在会返回null$user = UserModel::where('id',5)->select();
dump($user);
exit();
'返回对象集$user = UserModel::where('id',5)->all();
dump($user);
exit();
'报错 method not exist:think\db\Query->all
假如有个Order模型 ,在尝试使用时有以下结果使用 self::get();
'获取数据时正确的
self::with('user')->get()
'这里会提示 method not exist:think\db\Query->get
'只有单独get 时才会是正确的 ,不能够加入其他语句条件