Посетите систему - «Попытка получить свойство необъекта» - PullRequest
0 голосов
/ 11 мая 2018

Создание системы, в которой, если я нажму кнопку, я смогу посетить место, а затем отменить посещение, если нажму не ту кнопку. это загрузит в базу данных и удалит из базы в зависимости от того, была ли нажата кнопка. На данный момент я получаю сообщение об ошибке:

'Trying to get property of non-object' and the place_id seems to be the problem as its being shown as null.

Таблицы: места: id и т. Д.

Посещение: id, place_id, user_id, метки времени

Контроллер: `

      $place_id = $request['placeId']; 
      $place = Place::find($place_id); 
      $visited = Auth::user()->visitors()->where('place_id', $place_id)->first(); 

      if($visited == null) {
        $visited = new Visit(); 
        $visited->user_id = Auth::user(); 
        $visited->place_id = $place->id; 
        $visited->save(); 
return null; 
} else{`

         $visited->delete();
         return null;
         }

AJAX:

    var placeId = 0;
    var token = '{{ Session::token() }}';
    var urlVisit = '{{ route('visitss') }}';
    $('.visit').on('click', function(event){
     event.preventDefault();
     placeId = event.target.parentNode.parentNode.dataset['place_id'];

$.ajax({
            method: 'POST',
            url: urlVisit,
             data: { place_id: placeId, _token: token}
     })
        .done(function() {

        });

        });

Любые идеи о том, как это исправить и получить place_id, чтобы распознать посещаемое место?

1 Ответ

0 голосов
/ 11 мая 2018
<div class="place-name">
                <a class="btn btn-not-visited visit" >Visited?</a>
<h1>$place->name</h1>
<p>$place->address</p>
</div>

JS

 var placeId = 0;
    var token = '{{ Session::token() }}';
    var urlVisit = '{{ route('visitss') }}';
    $('.visit').on('click', function(event){
     event.preventDefault();
     placeId = event.target.parentNode.parentNode.dataset['place_id'];

$.ajax({
            method: 'POST',
            url: urlVisit,
             data: { place_id: placeId, _token: token}
     })
        .done(function() {

        });

        });

Я предполагаю, что где-то в кнопке пропущен 'place_id, $ place-> id'?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...