laravel - Laravel 关系和外键约束
问题描述
我有两个模型和迁移表。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Room extends Model
{
public function guest()
{
return $this->hasOne(Guest::class);
}
}
-
namespace App;
use Illuminate\Database\Eloquent\Model;
class Guest extends Model
{
public function room()
{
return $this->hasMany(Room::class);
}
}
房间 -> id,平方米,guest_id
客人 -> id、姓名、姓氏、电子邮件、电话、room_id(必填)
Room hasOne Guest -> 在模型中实现
Guest hasMany Rooms -> 在模型中实现
如果我创建一个客人,我必须添加一个房间号。room_table 中对应 id 的房间应该会自动更新为 guest_id。
新客人示例 :id(2), Name, last_name, phone, email, room_id(3) -> id 为 3 的房间应显示给 id 为 2 的客人。
我该如何实施?
解决方案
在您的控制器中添加此功能:
public function CheckInUser($guest_id,$room_id)
$guest = Guest::where('id',$guest_id)->firstOrFail();
$room = Room::where('id',$room_id)->firstOrFail();
$guest['room_id'] = $room_id;
$guest->save();
$room['guest_id'] = $guest_id;
$room->save();
}
现在你可以通过调用上面的函数随时更改客人的房间,如下所示:
CheckInUser(2,3);
推荐阅读
- mysql - 如何编写Sql代码在指定的时间间隔内对对象进行分组?
- laravel - 从 Laravel 中的 json 响应中删除 ip
- ibm-watson - java.lang.NoSuchMethodError: com.ibm.watson.discovery.v1.Discovery.getServiceUrl()
- ibm-cloud - 如何将 TLS 与 IOT IBM 结合使用?
- matrix - PostScript 默认 CTM 值
- python - 使用 importlib.import_module 处理导入模块引发的异常
- ios - iOS 13 中历史相关的 Contacts 框架类有哪些?
- reactjs - 如何更新树中的 Redux 依赖状态对象?
- prolog - (SWI-PL) 我不知道如何创建一个序言规则来匹配这种特定类型的输入
- javascript - 在反应中添加生命周期方法之外的类名