1.在模型users.php中添加
class users extends Model
{
//一对一关联到profile表
public function profile()
{
return $this->hasOne(Profile::class);
}
在控制器user.php中写入
$user = users::find(1); //输出profile关联模型的email属性 echo $user->profile->email;
//查询用户昵称是think的用户 $user = users::hasWhere('profile',['nickname'=>'think'])->select(); dump($user->toArray());可不要
更新关联数据
$user = users::find(1); $select=$user->profile->save(['email'=>'123456@qq.com']); dump($select);
2.在模型profile.php中添加
class profile extends Model
{
//一对一关联的相对链接
public function users()
{
return $this->belongsTo(users::class);
}
在控制器Profile.php中写入,实现控制器user与profile相互连接
use app\model\Profile as ProfileModel;防止与下面profile冲突,改名为profilemodel
$profile = ProfileModel::find(1);
//输出user关联模型的属性
echo $profile->users->name;
3.关联自动写入增加数据,控制器user.php中写入,需要屏蔽模型profile中内容
$user = new users;
$user->name = '蜘蛛侠';//写入users表
$user->nickname = '蜘蛛侠1';//写入profile表
$user->email = '258369@qq.com';//写入profile表
$user->together(['profile'=>['nickname','email']])->save();
dump($user);
4.更新修改数据
$user = users::find(1);
$user->name = '王伟';
$user->profile->nickname = '王伟1';
$user->profile->email = '11111@qq.com';
$user->together(['profile'])->save();
dump($user);
5.删除数据
$user = users::with('profile')->find(1);
$user->together(['profile'])->delete();
dump($user);