2015-09-09 31 views
1

在这里,我们有我的情况我有视频和video_tags表,它有一对多的关系,因为视频中有很多标签。我试图实现在一个查询中删除使用关系在不同表中存储的record1和record2,只有这些记录将从table1和table2中删除。我认为这是可能的laravel请我需要帮助。如何在laravel中使用关系删除不同表中的记录1和记录2 5.1

型号:

<?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

你的意思是你想要当一个视频被删除相关标签被删除的标签表?顺便说一句,我认为你需要标签和视频之间的多对多关系,因此需要一个数据透视表。为此,您可以参考laravel文档以获得多对多关系 –

+0

@Ali Erfani是的,我希望将视频从另一个表中删除,并且仅通过一个查询删除相关标签。 – Grald

+1

您需要在本视频中解释[链接](https://laracasts.com/series/laravel-5-fundamentals/episodes/21) –

回答

0

你需要的是调整串级关系数据库中的。

然后...

$ video = \ Video :: find(1);

$ video-> delete();

相关问题