Я обновил свое представление для отображения данных - проектов с помощью AngularJS, и теперь у меня возникла проблема, когда при изменении URL-адреса идентификатора проекта метод show()
не показывал 404 error - проект не принадлежит зарегистрированному пользователю, вместо этого я получаю эту ошибку.Laravel 5.1: Попытка получить свойство не-объекта
Попытка получить свойство не-объекта (Вид: C: \ WWW \ HTDOCS \ Laravel \ ресурсы \ вид \ бэкенд \ обертоны \ Проект \ одного project.blade.php)
Прежде чем я обновил свое мнение для работы с AngularJS, все было хорошо.
Мой угловой регулятор:
freelo.controller('mainCtrl', ['$scope', '$http', function($scope, $http) {
$scope.projects = [];
$http.get('api/userProjects')
.then(function(response) {
$scope.projects = response.data;
});
}]);
app.js
Мои:
var freelo = angular.module('freelo', []);
Способ извлечения пользовательских проектов:
public function getProjectsInJson(){
$project = Project::where('user_id', '=', $this->getCurrentUserId())->get();
return response()->json($project);
}
И мой show()
метод в ProjectsController
:
public function show($id){
$project = Project::where('id','=', $id)
->where('user_id', '=', $this->getCurrentUserId())
->first();
$user = DB::table('projects')
->join('users', 'projects.user_id', '=', 'users.id')
->join('profiles', 'users.id', '=', 'profiles.user_id')
->select('users.id','profiles.username')
->where('projects.id','=', $id)
->get();
if(!$project && !$user){
abort(404);
}else{
return view('backend.partials.project.single-project')->with('project', $project)->with('user', $user);
}
}
Где я совершил ошибку или что нужно изменить?