【发布时间】:2018-10-21 06:30:24
【问题描述】:
创建一个系统,如果我按下一个按钮,我可以访问一个地方,然后如果我按下了错误的按钮,则取消访问。这将上传到数据库并从数据库中删除,具体取决于是否单击了按钮。目前虽然我收到错误:
'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 识别正在访问的地方的任何想法?
【问题讨论】:
-
尝试写入数据库时是否发生此错误?是从数据库中读取,还是在点击按钮时从网页中读取?
-
似乎在控制器中。问题似乎在于 $place_id 为空
-
仅在
$place_id != 0或$place_id > 0时尝试添加新访问 -
如果 place_id 返回 null 将如何解决。问题是当访问按钮放置在 place.blade 上时 place_id 返回 null,我需要 $place_id 不为 null
-
“placetId”应该有“t”,还是应该是“placeId”
$place_id = $request['placetId'];
标签: ajax laravel laravel-5 laravel-5.4