【发布时间】:2017-08-22 19:45:34
【问题描述】:
我在公共文件夹中有一个像这样的音频文件-
@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
所以,当我单击该按钮时,它会下载歌曲。在我的数据库中,在“歌曲”表中,有一列是歌曲,另一列是 download_count,它设置为默认值(0)。当我点击 ajax 链接时,我尝试更新 download_count。我的 ajax:
$(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。 lz帮忙看看怎么回事
【问题讨论】:
-
第一步是不要在 laravel 中使用 $_POST[],注入你的请求并从你的请求变量中读取数据。 laravel.com/docs/5.4/requests
-
你还没有为 $song 声明模态。请在下面使用 $song = Song::findOrFail($id);