2014-09-04 46 views
2

有没有一种方法,使与内蒙古自治区删除通过查询生成器上Laravel 4加入?删除与加盟Laravel 4查询生成器

我有这个示例查询(sample query taken from this source.)

DELETE s.* FROM spawnlist s 
INNER JOIN npc n ON s.npc_templateid = n.idTemplate 
WHERE (n.type = "monster"); 

我已经试过类似:

DB::table('spawnlist as s') 
     ->join('npc as n', 's.npc_templateid', '=', 'n.idTemplate') 
     ->where('n.type', 'monster') 
     ->delete(); 

但似乎加入不能在这里做什么?

回答

0

我认为最好的办法是给我们laravel的事件,它更容易清洁。如何对where子句

Spawnlist::deleting(function ($sl) 
{ 
    DB::table('npc')->delete(); 
}); 
+0

: 你可以像这样执行相同的任务:

DB::table('spawnlist')->delete(); 

然后创建一个spawnlist事件捕捉删除事件并删除其他表像这样? – Vainglory07 2014-09-15 01:59:59

+0

你仍然可以在删除方法之前添加它,像这样... DB :: table('spawnlist') - > where('table.field','table.field') - > delete(); – 2014-09-15 10:20:43