Php 无法删除一对多关系中的记录
我对laravel中的以下错误感到震惊: 有两个具有多对多关系的表用户和磁道,中间表名为track\u user我正在尝试删除记录,但无法删除Php 无法删除一对多关系中的记录,php,laravel,eloquent,Php,Laravel,Eloquent,我对laravel中的以下错误感到震惊: 有两个具有多对多关系的表用户和磁道,中间表名为track\u user我正在尝试删除记录,但无法删除 Unhandled Exception Message: Call to a member function track() on a non-object Location: C:\wamp\www\integron\application\controllers\track.php on line 50 Mysql错误: SQL query:
Unhandled Exception
Message:
Call to a member function track() on a non-object
Location:
C:\wamp\www\integron\application\controllers\track.php on line 50
Mysql错误:
SQL query:
DELETE FROM `integron`.`tracks` WHERE `tracks`.`id` =2
MySQL said:
#1451 - Cannot delete or update a parent row: a foreign key constraint fails (`integron`.`track_user`, CONSTRAINT `track_user_project_id_foreign` FOREIGN KEY (`track_id`) REFERENCES `tracks` (`id`))
<?php
class User extends Eloquent{
public static $table = 'users';
public function tracks()
{
return $this->has_many_and_belongs_to('Track');
}
<?php
class Track extends Eloquent{
public static $table = 'tracks';
public function users()
{
return $this->has_many_and_belongs_to('User');
}
用户型号:
SQL query:
DELETE FROM `integron`.`tracks` WHERE `tracks`.`id` =2
MySQL said:
#1451 - Cannot delete or update a parent row: a foreign key constraint fails (`integron`.`track_user`, CONSTRAINT `track_user_project_id_foreign` FOREIGN KEY (`track_id`) REFERENCES `tracks` (`id`))
<?php
class User extends Eloquent{
public static $table = 'users';
public function tracks()
{
return $this->has_many_and_belongs_to('Track');
}
<?php
class Track extends Eloquent{
public static $table = 'tracks';
public function users()
{
return $this->has_many_and_belongs_to('User');
}
您必须首先从复合用户跟踪表中删除该记录。只有这样,才能删除跟踪表中的父记录 您必须首先从复合用户跟踪表中删除该记录。只有这样,才能删除跟踪表中的父记录 来自laravel文档的“附加的反面是分离:” 在地图上找 离开的例子:
$circle->users()->detach($user_id);
$circle->save();
在laravel文档中,“附加的反面是分离:”
在地图上找
离开的例子:
$circle->users()->detach($user_id);
$circle->save();
如何删除复合表中的记录?如何删除复合表中的记录?