2017-08-03 64 views
0

雄辩大规模更新使用数据,我想做出这样的事情PseudocodeLaravel查询生成器/从当前查询

UPDATE `table` SET `path`=REPLACE('pathpath','other',`path`) WHERE `ready_to_publish`=1 

但我想用雄辩/查询生成器。我知道存在DB::raw,我可以直接设置,但应用程序必须支持许多RDBMS类型,并且使用查询生成器很舒服。

我知道我可以使它在2个查询

1获取所有的ID,所在路径ready_to_publish是1取代PHP 2.构建更新查询与链中的所有数据。

我的问题是,是否有可能在像纯SQL中的一个查询。

在此先感谢您的任何提示。

回答

0

你可以像这样做,

Table::where('ready_to_publish',1)->update(['pathpath',$newpath]); 

而且你需要定义pathpath在模型一样可填写,

protected $fillable = ['pathpath']; 
+0

我不知道我怎么可以这样解决我的问题。 例如我的laravel代码 '\ DB :: table('files') - > where('directory','layout') - > update(['directory',str_replace('layout','layout。我的',$目录)]);' ,在这种情况下,我想在'$ directory'位置应该是当前'directory'列的值。 – jaroApp

+0

@jaroApp然后,对不起,我不明白你的问题 –