这里我们进入我的情况我有视频和video_tags表,它有一对多的关系,因为在视频中有很多标签。我试图在一个查询中使用关系删除存储在不同表中的record1和record2,然后将从table1和table2中删除记录。我认为有可能在laravel,我需要帮助。
型号:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Video extends Model
{
protected $table = 'videos';
protected $guarded = ['id'];
public function tags()
{
return $this->hasMany('App\VideoTag');
}
}
控制器:
public function postDeleteVideo(Request $request, $id){
$tag = Video::find($id)->tags->delete();// <-- problem here
return response()->json(array('success'=>true));
}
答案 0 :(得分:0)
您需要在数据库中设置CASCADE关系。
则...
$ video = \ Video :: find(1);
$ video-&GT;删除();