我有一个例程,它读取一个雄辩的命令列表(从输入到路由/控制器或通过文件):
例如:
Product::where('code', '=', 'ABC123')->update(array('price' => 123.45));
Product::where('code', '=', 'ABC246')->update(array('price' => 222.99));
如何让Laravel执行这些操作,就像它自己构建它们一样?
我知道我可以使用PHP的eval()
方法,但这只是最后的手段。传递的命令是由我们的另一个内部系统生成的,因此没有任何问题被利用,但我希望有一个比eval()
更好的选择。
答案 0 :(得分:0)
我认为你需要在一个循环中逐个进行
$products = Product::where('code', '=', 'ABC123')->get();
foreach ($products as $product) {
$product->price() = '123.45';
$product->save();
}