【发布时间】:2021-12-07 13:40:21
【问题描述】:
在我的项目中,我在数据库中有两个表,第一个是存储票数据的票表。第二个是 gp_group,其中门票 ID 存储在门票 ID 中的 gpid 中。见下图:-Tickets table
每当我删除一张票时,我都必须从该票的票表和 gp_group 表中删除票数据。见下图:-gp_group table
现在,我的问题是我无法从 gp_group 表中删除票证数据,但票证表数据已被删除。
所以,我在删除工单时使用了删除函数中的一个函数从两个表中删除数据。但还是不行。
TicketController中的代码
public function destroy(Ticket $ticket)
{
$ticket =DB::table('tickets')
-> leftJoin('gp_group','tickets.id', '=','gp_group.ticket_id')
-> where('tickets.id',$ticket);
DB::table('gp_group')->where('ticket_id',$ticket)->delete();
$ticket->delete();
return redirect()->route('tickets.index')
->with('success','Group deleted successfully');
}
我收到此错误“Illuminate\Database\Query\Builder 类的对象无法转换为字符串”
并在函数中尝试其他代码
public function destroy(Ticket $ticket)
{
$ticket->delete();
ticket::where("id", $ticket)->delete();
gp_group::where("gpid", $ticket)->delete();
return redirect()->route('tickets.index')
->with('success','Group deleted successfully');
}
但还是不行。
我得到不同的错误
"SQLSTATE[42S02]: 未找到基表或视图:1146 表 'rp1.gp_groups' 不存在(SQL:从
gp_groups删除gpid= {"id":63,"gpname":"Nasser","detail":"Nasser","gender":"Male","semester":432,"status":"不是 已分配","已分配":null,"user_id":1,"track_id":5,"created_at":"2021-10-15T18:50:04.000000Z","updated_at":"2021-10-15T18:50 :04.000000Z"})"
如果有人能指出我在这里做的错误,我将非常感激。
【问题讨论】: