我在公共文件夹上有一个音频文件,如下所示 -
@foreach ($songs as $song)
<a href="{{asset('/audio/' . $song->song)}}" download="" >
<button type="button" class="download" style="margin-bottom: 15px;">
<i class="glyphicon glyphicon-download">Download</i>
</button>
</a>
@endforeach
因此,当我点击该按钮时,它会下载该歌曲。在我的数据库中,歌曲&#34;歌曲&#34; table有歌曲列,另一个用于download_count,设置为默认值(0)。当我点击ajax链接时,我尝试更新download_count。我的阿贾克斯:
$(function() {
$('.download').click(function(){
$.ajax({
url: "/update_download_count",
type:"POST",
data: {
song_id:$(this).attr('data-id')
}
});
});
});
我的路线:
Route::post('/update_download_count', 'PagesController@updateDownloadCount');
控制器:
public function updateDownloadCount(){
$song_id = $_POST['song_id'];
$song->download += 1;
$song->save();
}
但是,我无法更新我的数据库,但是我点击链接。它仍然在download_count列中设置为0。 Plz帮忙,有什么不对?
答案 0 :(得分:0)
你实际上并没有选择这首歌。
public function updateDownloadCount(Request $request) {
$song = Song::find($request->input("song_id"));
$song->download += 1;
$song->save();
}
答案 1 :(得分:0)
请为您的歌曲模态声明对象。
public function updateDownloadCount() {
$song = Song::findOrFail($_POST['song_id']);
$song->download += 1;
$song->save();
}
答案 2 :(得分:0)
public function updateDownloadCount(Request $request){
\DB::table('songs')->where('songs_id', $request->input("song_id"))->increment('download');
}
答案 3 :(得分:0)
而不是
$song->download += 1;
尝试:
Song::find($request->input("song_id"))->increment('download');
我认为应该有效