2016-02-04 6 views
0

У меня простая связь между пользователем и отделом. Мой пользователя Модель имеет следующийLaravel 5 - вставить несколько пользователей

public function department() { 
    return $this->belongsTo('App\Department', 'departmentId'); 
} 

И мой отдел Модель имеет

public function user() { 
    return $this->hasMany('App\User'); 
} 

В настоящее время я работаю с отделами стороны вещей. Моя индексная функция выглядит следующим образом:

public function index() { 
    $departments = Helper::returnDepartmentsFromLdap(); 

    return view('departments.index', compact('departments')); 
} 

В основном это делает все отделы из LDap (Active Directory) и отображает их. На индексной странице отделов у меня есть

{!! link_to_route('departments.updateDepartments', 'Update Database', null, array('class' => 'btn btn-info')) !!} 

Таким образом, база данных может быть обновлена, если на наш сервер будут добавлены новые отделы. У меня нет функции создания, поскольку она не нужна.

В любом случае, на данный момент, мои маршруты как так

Route::model('departments', 'Department'); 
Route::bind('departments', function($value, $route) { 
    return App\Department::whereId($value)->first(); 
}); 
Route::resource('departments', 'DepartmentsController', ['except' => ['show', 'edit', 'create', 'delete', 'update', 'destroy']]); 
Route::post('departments/updateDepartments', array('as' => 'departments.updateDepartments', 'uses' => '[email protected]')); 

И в моей функции updateDepartments Я просто делаю следующее за теперь

public function updateDepartments() 
{ 
    dd("TEST"); 
} 

Если я нажимаю на кнопку на мой странице индекса, чтобы обновить базу данных, которая должна вызвать вышеизложенное, я вижу исключение MethodNotAllowedHttpException.

Я пропустил что-то очевидное здесь?

Благодаря

ответ

1

попытаться использовать получить: , потому что вы можете только передавать данные, используя метод GET с рычажным link_to_route

Route::get('departments/updateDepartments', array('as' => 'departments.updateDepartments', 'uses' => '[email protected]')); 
+0

Получит ли я возможность добавлять данные в базу данных? Я не использую форму, потому что данные получены из LDAP, поэтому в функции updateDepartments я получаю все отделы из LDAP, а затем сохраняю/обновляю их в базе данных –

1

Route::post('departments/updateDepartments', ...) означает, что вы позволяете только запросы POST по этому маршруту. Убедитесь, что метод форма POST вместо GET (по умолчанию) на странице индекса

+0

Проблема в том, что я я не использую форму, потому что отделы получаются из LDAP, поэтому мне не нужно вводить информацию о отделе –

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