【发布时间】:2021-06-30 03:59:25
【问题描述】:
我正在尝试使用一个函数来软删除数据库中的 2 行,一个来自我创建的名为 persona 的表,另一个来自 laravel 使用 Auth 创建的 users 表,我的用户表有一个与persona 表关联的外键,称为idPersona。我要做的是从persona 表中软删除与id 参数匹配的行,然后软删除users 中属性idPersona 与id 参数匹配的行收到的函数。
我要贴出Controller功能代码
控制器功能代码
public function deleteMedico($id){
$medico = Persona::findOrFail($id);
$medico->estado =False;
$personaID = $medico->id;
$user= new User();
$user->where('idPersona',$personaID);
var_dump($user);
}
我将尝试解释我想用这个控制器做什么,我使用 findOrFail 函数从persona 表中找到我想自我删除的行,在我找到它之后我以这种方式将estado 设置为false 软删除该行。之后我尝试获取一个 User 实例,查找users 表,其中 idPersona 与被软删除的行的 id 匹配。
自我删除的代码与persona 表几乎相同,但问题是我在users 表中找不到行,将发布var_dump 我得到的@987654341 @。
还将发布我的数据库的外观以防万一它有用
我不知道我需要做什么才能获取users 表中idPersona 属性与personas 表中的id 属性匹配的行。我是 Laravel 的新手,如果这个问题是重复的或者没什么难的,我很抱歉。 p
【问题讨论】:
-
不要创建新的用户实例。做
$user = User::where('idPersona',$personaID)->first();或者(甚至更好)在Persona和User之间建立一个有说服力的关系