2015-12-13 3 views
0

У меня есть метод, который удаляет модель Photo модели Blog. (Blog hasMany Photo). Я делаю это через AJAX. И мой метод выглядит следующим образом:Верните новую версию Eloquent для модели JSON после удаления связи

public function removeImage(RemoveImageRequest $request) 
    { 
     $parent = $this->model->findOrFail($request->parent); 

     // Check if a passed image belongs to the passed post 
     if(in_array($request->image, $parent->photos->lists('id')->all())) { 
      $this->repository->detachPhoto($parent, $request->image); 
     } 

     return $this->transformer->transform($parent); 
    } 

Transformer просто класс, который переформатирует данные JSON в более читаемым способом, а также добавить некоторые дополнительные свойства, которые используются на переднем конце.

Но когда я возвращаю этот объект $parent, он все еще имеет недавно удаленную фотографию. Должен ли я снова взять всю модель или есть способ вернуть свежий copy?

ответ

0

Вы можете перезагрузить родителя фотографии отношения по телефону:

$parent->load('photos'); 

Затем, отношение будет держать то, что в настоящее время в базе данных - список фотографий без одного вы только что сняли.

+0

Все, спасибо! – Bravi

Смежные вопросы