2015-03-25 47 views
0

口才方法/呼叫的名單上有讀取口才命令的列表(從輸入到路徑/控制器或經由一個文件)的例程:執行在Laravel

例如:

Product::where('code', '=', 'ABC123')->update(array('price' => 123.45)); 
Product::where('code', '=', 'ABC246')->update(array('price' => 222.99)); 

如何讓Laravel執行這些操作,就好像它正在自己構建它們一樣?

我知道我可以使用PHP的eval()方法,但只能作爲最後的手段。正在傳遞的命令是由我們的另一個內部系統生成的,所以這個被利用沒有問題,但是我希望有一個比eval()更好的選項。

回答

0

我認爲你需要在一個循環

$products = Product::where('code', '=', 'ABC123')->get(); 
foreach ($products as $product) { 
    $product->price() = '123.45'; 
    $product->save(); 
} 
+0

在正確的軌道做一個接一個,但問題是如何PHP評估串並運行它。我可以使用eval(),但我並不想訴諸於此。 – 2015-03-26 00:16:55