新建Car.php模型,Users.php两个模型。
1、在Users模型里写个方法
public function car(){
return $this->hasOne('Car','uid','user_id'); //hasOne 一对一关系
}
2、一对一关联查询
$user = Users::get(1); //$user->car 直接拿car对象
echo '车牌'.$user->car->brand.'号码:'.$user->car->plate_number.'<br>';
//车牌宝马号码:川A123652
//SELECT * FROM `tp_users` WHERE `user_id` = 1 LIMIT 1
//SELECT * FROM `tp_car` WHERE `uid` = 1 LIMIT 1
3、一对一关联新增
$user = new Users();
$user->email = '12345@qq.com';
$user->nickname = 'TPshop';
$user->password = '123456';
if($user->save()){
$car['brand'] = '奔驰';
$car['plate_number'] = '粤A1123123';
$user->car()->save($car);
return '用户【'.$user->nickname.'】新增成功!';
}else{
return $user->getError();
}
INSERT INTO `tp_users` (`email` , `nickname` , `password`) VALUES ('12345@qq.com' , 'TPshop' , '123456')
INSERT INTO `tp_car` (`brand` , `plate_number` , `uid`) VALUES ('奔驰' , '粤A1123123' , 46)
4、一对一关联更新
//一对一关联更新
$user = Users::get(1);
$user->email = 'TPshop@qq.com';
if($user->save()){
$user->car->plate_number='川A123652';
$user->car->save();
return '用户【'.$user->email.'】更新成功!';
}else{
return $user->getError();
}
SELECT * FROM `tp_users` WHERE `user_id` = 1 LIMIT 1
UPDATE `tp_users` SET `email`='TPshop@qq.com' WHERE `user_id` = 1
5、一对一关联查寻
$user = Users::get(41); //$user = Users::get(41,'car');
echo $user->email.'<br>';
echo $user->nickname.'<br>';
echo $user->car->brand.'<br>';
结果为:
TPshop@qq.com
a:1:{s:2:"aa";i:11;}
宝马
6、一对一关联删除
//一对一关联删除
$user = Users::get(1);
if($user->delete()){
$user->car->delete();
return '用户【'.$user->email.'】删除成功!';
}else{
return $user->getError();
}
SELECT * FROM `tp_users` WHERE `user_id` = 1
DELETE FROM `tp_users` WHERE `user_id` = 1
SELECT * FROM `tp_car` WHERE `uid` = 1 LIMIT 1
DELETE FROM `tp_car` WHERE `id` = 1