у меня есть проблема с Laravel 5 Route Model Binding Я использую следующий контроллер методLaravel 5 Route Модель Binding не работает на сервере
public function destroy(PrimaryLocation $primaryLocation) {
dd($primaryLocation->id);
$primaryLocation->delete();
return redirect()->back()->with('locationDeleted', true);
}
Где PrimaryLocation красноречивая Модель
загрузкиМоих RouteServiceProvider в функция:
public function boot(Router $router)
{
parent::boot($router);
$router->model('user', 'App\User');
$router->model('PrimaryLocation', 'App\PrimaryLocation');
}
И в моем routes.php
Route::delete('deletePrimaryLocation/{PrimaryLocation}',
['as' => 'admin.deletePrimaryLocation', 'uses' => '[email protected]']);
Эта настройка отлично работает на моем локальном компьютере, но когда я развертываю файлы на своем сервере разработки, то где-то происходит разрыв привязки модели; Местоположение не будет удалено при выполнении метода.
Я некоторые var_dumps
dd($primaryLocation->id);
на локальном компьютере это возвращает правильный идентификатор, но на сервере она просто возвращает нуль;
Однако, если я делаю
dd($primaryLocation)
В результате локально
PrimaryLocation {#178 ▼
#fillable: array:1 [▶]
#connection: null
#table: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:4 [▶]
#original: array:4 [▶]
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#dates: []
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
}
На на моем сервере почти то же самое ... но атрибуты отсутствуют:
PrimaryLocation {#195 ▼
#fillable: array:1 [▶]
#connection: null
#table: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: []
#original: []
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#dates: []
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: false
}
Кто-нибудь знает, что может пойти не так?
[UPDATE]
если я закомментировать
// $router->model('PrimaryLocation', 'App\PrimaryLocation');
В меня ServiceProvider, локальное поведение такое же, как и на сервере. Возможно, что-то случилось с загрузкой ServiceProvider? Может быть, есть какой-то кеш?
Отсутствующий 'attributes' потому, что он не может найти запись. Являются ли данные одинаковыми в базе данных? т.е. та же база данных, таблицы и поля? В частности - существует ли сама запись? – Laurence
Правильно ли указано ваше имя на сервере? Это 'PrimaryLocation.php' с чувствительностью к регистру? – Laurence
Если он не смог найти запись, должна быть ошибка 404 (при условии, что документы указывают это), если я прав. И если имя файла неверно, должна быть какая-то «жесткая» ошибка ... (Упс что-то пошло не так) –