Table 1: products: id, title, publish,created_at
Table 2: tags: id,name,lang,created_at
Table 3: taggable: id,tag_id,taggable_type,taggable_id
在产品型号中:
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
我在tags
表中创建一条新记录
$cat = Category::find(1);
$tag = \App\Tag::firstOrCreate(['name' => 'key1']);
现在我将相关数据保存在taggables
表中:
$cat = Category::find(1);
$cat->tags()->save($tag);
有效。
现在我要删除标签中$ cat的所有记录:
$cat->tags()->detach();
有效。
现在,在taggables
表中,我没有tags
表中'key1'的任何相关数据。所以我想删除它。
问题:
如何检查tags
中的记录(名称='key1')在taggable
中没有任何相关记录,如何删除?
答案 0 :(得分:4)
这是从2个表中删除具有相关ID的数据的sql查询:
NULL