2016-05-08 5 views
-1

я эта проблема, чтобы уничтожить несколько recors с привязкой модели, я в RouteServiceProvider.phpуничтожить несколько записей с Model Binding Laravel 5.1

public function boot(Router $router) 
{ 
    parent::boot($router); 
    $router->model("offices","App\Office"); 
} 

разрушающего метод: (Я возвращение $ ID только для проверки):

public function destroy($id) 
{ 
    //Office::destroy($id); 
    return $id; 
} 

Мой Url посылает

<form id="delete_offices" accept-charset="UTF-8" action="http://localhost/public/offices/18,19" method="POST"><input type="hidden" value="DELETE" name="_method"> 
<input type="hidden" value="CXnq068rEYlu88gemilBZKh6f4ZL5p7cELmZoe4B" name="_token"> 
<button type="submit" id="btn_delete" class="btn btn-danger">Delete</button> 
</form> 

Но когда я вижу, что возвращается в мой контроллер, возвращают только один объект:

{"id":18,"name":"Main",,"phone":"9784773366","email":"","schedule":"Monday-friday: 8am-6pm","country_id":147,"state_id":476,"city_id":1178,"created_at":"2016-05-08 17:22:04","updated_at":"2016-05-08 17:24:57"} 

Что я могу сделать, чтобы иметь объект со всеми деталями ?, если я посылаю идентификаторами 18 и 19, я должен получить 2 офиса, офисную информацию с идентификатором 18 и информацию с идентификатором 19. Если я отправлю идентификатор 23, я должен получить только информацию о офисе с id = 23.

Thanks

+0

его хорошо, если он отвечает на его вопрос, я думаю, если он найдет решение позже! вот почему его доступно в первую очередь! –

+0

Achraf, это stackoverflow, это не Facebook или quora и т. Д. Есть много вопросов с ответами, есть профессионалы, которые хотят помочь. Скажем, он нашел ответ, так почему бы не удалить его вопрос? Кто интересуется его решением? - Только его. Если вы про, попробуйте не поддерживать тех, кто пытается избавиться от SO. Также читайте правила стека. – num8er

ответ

1

переопределить любой маршрут от маршрута :: ресурс, который вы должны добавить это к вашему ресурсу

Route::resource('office', 'OfficeController', 
       ['except' => 'destroy']); 

и тогда просто добавьте свой маршрут manualy

+0

Отличный !!, спасибо! – Bak

0

Это было мое решение. Сначала я имел маршрут

Route::resource('office',OfficeController'); 

Так что это делают все REST маршруты, такие как GET, POST, PUT, PATCH И УДАЛИТЬ Все с Wildcard {офис}, Так, например

Route::get('office/{office}/edit','[email protected]'); 
Route::delete('office/{office}', '[email protected]); 

Все маршруты имеют один и тот же шаблон. Итак, потому что в routeServiceProvider у меня есть:

$router->model("offices","App\Office"); 

мне пришлось переписывать маршруты, по одному и DELETE ROUTE

Route::delete('office/{office}', '[email protected]); 

Изменить его:

Route::delete('office/{id}', '[email protected]); 

Таким образом, я получить идентификаторы, которые я отправляю, а не модель Office.

Если вы знаете, как переопределить любой Route из Route::resource, это будет лучше и не писать каждый маршрут