2017-08-03 11 views
0

私はこのPseudocodeLaravelクエリビルダ/雄弁一括更新用データ

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

のようなものを作りたいと思います。しかし、私は雄弁/クエリビルダを使用したいと思います。私はそれが存在することを知っているDB::rawと私は直接設定することができますが、アプリケーションは多くのRDBMSの種類をサポートする必要があり、クエリビルダーを使用して快適です。

は私がready_to_publish 1は 2.ビルドの更新クエリチェーン内のすべてのデータをPHPで置き換えているすべてのID、パスを取得する2つのクエリ

1でそれを作ることができることを知っています。

私の質問は、純粋なSQLのような1つのクエリで可能ですか?

ありがとうございました。

答えて

0

あなたは、このよう

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

をそれを行うことができますし、私はこれで私の問題を解決することができるかわからない、などのモデルに入力可能なよう

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

pathpathを定義する必要があります。 たとえば、私のlaravelコード '\ DB :: table( 'files') - >ここで( 'directory'、 'layout') - > update(['directory'、str_replace( 'layout'、 'layout) my '、$ directory)])); ' この場合、' $ directory'に置いておきたいのは、現在の 'directory'カラムの値でなければなりません。 – jaroApp

+0

@jaroAppそれでは、ごめんなさいあなたの問題については理解していません –