Update multiple rows of database in Laravel
laravel, laravel-4, orm, php
Solution
Here is an easy way to do it.
$values = Value::where('project_id', $id)->update(['data'=>$data]);
I found it from this link
Hope it helps.
Problem
I want a code for update multiple rows of database, somthing like this: ``` UPDATE values SET data='{"options":["male","female"],"default":"male"}' where project_id=1 and id=1; UPDATE values SET data='{"options":["male","female"],"default":"male"}' where project_id=1 and id=2; UPDATE values SET data='{"options":["male","female"],"default":"male"}' where project_id=1 and id=3; ``` After some hours i could get result with something like this in laravel framework: ``` $values = Value::where('project_id', $id)->get(); $sql = ""; foreach($request->fields as $field) { if(!empty($field->default)) { //New default value is set foreach($values as $value) { $data = json_decode($value->data, true); /**data column as json object in mysql database **/ $data["default"] = $field->default; $data = json_encode($data); $sql .= "update ".DB::connection()->getDatabaseName().".values set data='".$data."' where id="."$value->id;"; } } } DB::unprepared($sql); ``` but this code is not a good practice! So my question is Is there any ORM way to do this better?!