Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Eсть ли какой то красивый способ обновить данные в модели, аналогично тому как делается create
В документации нашел. Но как то меня не радует писать десятки строк для каждой модели
$user = User::find(1);
$user->email = 'john@foo.com';
$user->save();
Хотелось бы что то вроде
MyModel::update($id, $arr);
$user->fill(['email'=>"john@foo.com", 'other'=>"..."]);
Только надо чтобы эти поля были в $fillable модели.
Не в сети
$model = MyModel::findOrFail($item['id']);
$model->check_owner($person->id);
$model->update($item);
Можно совсем просто. В классе модели пишешь
protected $fillable=['username','password', 'email'......];
$fillable значит, что поля могут быть заполнены автоматически данными из вьюшки
Потом в роутах
Route::post('/foo', function(){
UserModel::create(Input::all());
return Redirect:to........
Имена полей во вьюшке должны соответствовать именам колонок в mysql.
Самое клевое, что метод create не надо прописывать в модели. Магия
Для update можно сделать тоже самое
Route::post('/foo/{id}', function($id){
UserModel::find($id);
$user->update();
return Redirect::to.....
Изменено Afatar (28.11.2014 13:22:03)
Не в сети
Страницы 1